jQuery添加到表单不发送值

jQuery Add To Form Not Sending Value

本文关键字:表单 添加 jQuery      更新时间:2023-09-26

我的表单中有一个部分如下:

  <div id="evchoices">
      <div class="choice">Play <input type="checkbox" name="play" checked></div>
      <div class="choice">Pause <input type="checkbox" name="pause" ></div>
      <div class="choice">Stop <input type="checkbox" name="stop"></div>
      <div class="choice">Complete <input type="checkbox" name="complete" checked></div>
  </div>

这本身就很好。我使用jQuery的以下行添加新元素:

$("#evchoices").append('<div class="choice" id="adev'+evtal+'">'+evtal+' Seconds<input name="'+evtal+'seconds" checked="" type="checkbox"></div>'); 

其中evtal是用户添加的数字。生成的源显示添加的内容如下:

<div class="choice">1 Seconds<input name="1seconds" checked="" type="checkbox"></div>

这似乎很好,但当表格提交时,1秒并没有传递出去。有什么想法吗?

在HTML5之前,ID属性不能以数字开头。也许name属性也有同样的问题。尝试使用name="seconds1"来代替name="1seconds"(就像使用ID一样。BTW:为什么我们在生成的代码中看不到ID?)

我能够使用以下代码。不确定这是否是问题所在,但你确定你在声明"etval"变量吗?

  $(document).ready( function() {  
    var evtal = 1;
    $("#evchoices").append('<div class="choice" id="adev' + evtal + '">' + evtal + 'Seconds<input name="' + evtal + 'seconds" checked="" type="checkbox"></div>'); 
 });

玩暂停停止完成