在谷歌搜索之后,我仍然感到困惑...... 我试图通过隐藏字段将计数的单选按钮值(Javascript)传递给 PHP,该隐藏字段稍后将被插入到数据库 MySQL 中。 我有一个名为 test.html 的表单
<html>
<head><script type="text/javascript" src="../js/script.js"></script</head>
<body>
<form name="myform" method="post"
onSubmit="return validateRadio()" action="">
<table class="tftable" border="1">
<tr><th><div align="center" class="tftable th">Questions</div></th><th colspan="2"><div align="center">Answer</div></th>
</tr>
<tr>
<td>I like to dance</td>
<td>
<label></label>
<label>
<input name="bm1" type="radio" value="1" />
Yes</label>
</td>
<td>
<label></label>
<label>
<input name="bm1" type="radio" value="2" />
No
</label>
</td></table>
<input type="hidden" name="passvalue" id="passvalue" value="">
</form>
</body>
</html>
这是对单选按钮进行计数的 script.js...我要传递的值是answeramount 值
function validateRadio()
{
// get all the inputs type
var inputs = myform.elements;
var radios = [];
// find the radio type
for (var i = 0; i < inputs.length; ++i) {
if (inputs[i].type == 'radio') {
radios.push(inputs[i]);
}
}
var countChecked = 0;
for (var j = 0; j < radios.length; j++) {
if (radios[j].checked) {
countChecked++;
}
}
//count number of radio button with value=1
var answeramount = 0;
for (var k = 0; k < radios.length; k++){
if(radios[k].checked && radios[k].value==1){
answeramount++;
}
}
if (countChecked != radios.length / 2){
alert("All questions must be answered.");
return false; // abort submit
} else {
alert("All questions have been answered.");
return true; // proceed to submit
}
}
请告诉我如何将“answeramount”值传递给 php,稍后该值将被插入到数据库中。谢谢
编辑:
这是一个jsFiddle
最佳答案
$passvalue=isset($_POST['passvalue'])?$_POST['passvalue']:"";
passvalue 字段应该
输入类型=“隐藏”名称=“passvalue”id=“passvalue”值=“echo $passvalue;”
在 JavaScript 中
alert("所有问题已得到解答。"); document.getElementsById('passvalue').Value = answeramount;
关于javascript - 将值从 javascript 传递到 PHP(使用隐藏字段),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23059484/