首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >某些表单值在使用.replaceWith()后未提交

问某些表单值在使用.replaceWith()后未提交
EN

Stack Overflow用户
提问于 2012-01-29 07:21:53
回答 1查看 435关注 0票数 2

假设我有这样的表单:

代码语言:javascript
复制
<form action="submit" method="post">
<select name="category" id="categorylist">
<option value="love">Love</option>
<option value="magic">Magic</option>
<option value="custom">Custom</option>
</select>
<textarea name="content">SomeContent</textarea>
<input type="submit">
</form>

我想在选择自定义时将select更改为input,因此我想出了以下方法:

代码语言:javascript
复制
$(function(){
  $('#categorylist').change(function(){
    $(this).replaceWith('<input type="text" name="category">');
  });
  if( $('#categorylist').val() == 'custom' )
    $('#categorylist').replaceWith('<input type="text" name="category">');
});

但是,当select更改为input时,当我在表单提交时转储$_POST['category']时,$_POST不在那里。为甚麽呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-29 07:44:50

您应该将<select>替换为</select>,并将<input type="submit>替换为html中的<input type="submit">。使用下面的javascript,.replaceWith()和提交表单没有问题。

代码语言:javascript
复制
$(function(){
    $('#categorylist').change(function(){
        if( $('#categorylist').val() == 'custom' )
            $('#categorylist').replaceWith('<input type="text" name="category">');
    });
});

参见my test。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9049497

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档