gpt4 book ai didi

forms - 为什么我的复选框输入总是一样的?

转载 作者:行者123 更新时间:2023-12-01 11:56:47 24 4
gpt4 key购买 nike

我有一个表单(在下面发布)并且为复选框提交的值没有改变。我将 value 属性添加到输入以尝试缓解此问题,但现在调试器不再总是报告“事件”,而是报告设置为“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>

我使用此函数将元素放入一串文本中,该函数适用于其他两个输入。我更新了它以反射(reflect)答案。这尚未经过测试。

function is(a)
{
var b = '';
var c = document.forms[a].elements;
for (i = 0; i < c.length; i++)
{
if (c[i].type == 'checkbox' && c[i].checked == false)
{
b += c[i].name + "=NULL&";
}
else
{
b += c[i].name + "=" + c[i].value + "&";
}
}
b = b.slice(0, -1);
return b;
}

最佳答案

这是因为对于复选框,.value 总是返回您在 HTML 中设置的 value 属性中的文本。您需要做的是检查 checked 属性以查看它是否为真。像这样的东西:

function is(a) {
var b = '';
var c = document.forms[a].elements;
for (i = 0; i < c.length; i++) {
var value = "";
if (c[i].type == "checkbox") {
value = (c[i].checked) ? c[i].value : "";
} else {
value = c[i].value;
}
b += c[i].name + "=" + value + "&";
}
b = b.slice(0, -1);
return b;
}

关于forms - 为什么我的复选框输入总是一样的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6405440/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com