Forms 为什么我的复选框输入总是相同的?

Forms 为什么我的复选框输入总是相同的?,forms,xhtml,input,checkbox,Forms,Xhtml,Input,Checkbox,我有一个表单(张贴在下面),并且为复选框提交的值不会更改。我在输入中添加了value属性以尝试缓解此问题,但现在调试器不再总是报告“active”,而是报告设置为“value1”的任何值,无论该框是否选中 <form enctype="multipart/form-data" id="f0" method="post" action=""> <div class="t1"> <div class="t1_r1"> <div cla

我有一个表单(张贴在下面),并且为复选框提交的值不会更改。我在输入中添加了value属性以尝试缓解此问题,但现在调试器不再总是报告“active”,而是报告设置为“value1”的任何值,无论该框是否选中

<form enctype="multipart/form-data" id="f0" method="post" action="">
  <div class="t1">
    <div class="t1_r1">
      <div class="t1_c1"><p class="c"></p></div>
      <div class="t1_c1"><p class="c">Email</p></div>
      <div class="t1_c1"><p class="c">Password</p></div>
      <div class="t1_c1"><p class="c">Keep me logged in<input class="cb" type="checkbox" name="f0a" value="value1" /></p></div>
    </div>
    <div class="t1_r1">
      <div class="t1_c1"><input class="te6" type="text" name="f0b" /></div>
      <div class="t1_c1"><input class="te6" type="password" name="f0c" /></div>
      <div class="t1_c2"><a id="f0d" href ="javascript:void(0)" class='but'>Login</a></div>
    </div>
    <div id=fb1 class="t1_r1">
    </div>
  </div>
</form>

电子邮件

密码

让我保持登录状态

我使用这个函数将元素放在一个文本字符串中,这个函数对其他两个输入都很好。我更新了它以反映答案。这还没有经过测试

函数为(a)
{
var b='';
var c=document.forms[a].元素;
对于(i=0;i
这是因为使用复选框,
.value
总是返回您在HTML中设置的
value
属性中的文本。您需要做的是检查
checked
属性,看看它是否正确。比如:

函数为(a){
var b='';
var c=document.forms[a].元素;
对于(i=0;i
复选框尽管外观简单,但比文本复杂得多。

好吧,这似乎违反直觉,而且(至少根据HTML4)。你能发布一个复制这个问题的现场演示的链接吗?对不起,没有现场演示,我试着把它从标签中去掉,但这没有帮助。我应该知道复选框有什么特别的地方吗?只是根据W3(在我的第一条评论中跟随链接)“[当]提交表单时,只有“开”复选框控件才能成功。所以我不明白为什么不管复选框是否被选中,都会提交复选框。