根据隐藏字段值更改表单操作值

时间:2014-07-02 07:33:37

标签: javascript forms

当用户选择2或3个复选框并提交表单时,我试图根据2或3个隐藏字段中的值更改表单操作属性的值。 选中复选框时,默认值为0的隐藏字段的值为1 但它不起作用,我不确定从哪里开始。

我的表格:

<form id="f" name="f" method="post" onsubmit="return checkform()" action="scripts/false.php">
RSA:<input type="hidden" id="RSAsel" name="RSAsel" value="0" /> 
RSG:<input type="hidden" id="RSGsel" name="RSGsel" value="0" /> 
RSF:<input type="hidden" id="RSFsel" name="RSFsel" value="0" />
<input name="submit" type="button" class="bodytxt" id="button" onclick="javascript:doSubmit();" value="Enrol in these courses">
</form>

<script>
function doSubmit() {

var RSAsel = parseInt(document.getElementById("RSAsel").value);
var RSGsel = parseInt(document.getElementById("RSGsel").value);
var RSFsel = parseInt(document.getElementById("RSFsel").value);  

var target1 = 'scripts/process-combined-3.php';
var target2 = 'scripts/process-combined-rsa-rsg.php';
var target3 = 'scripts/process-combined-rsa-rsf.php';
var target4 = 'scripts/process-combined-rsg-rsf.php';

var theForm=document.getElementById('f');

if (RSAsel === 1 && RSGsel === 1 && RSFsel === 1) {
theForm.action = target1;
theForm.submit();
return true;
}
else if (RSAsel === 1 && RSGsel === 1) {
theForm.action = target2;
theForm.submit();
return true;
}
else if (RSAsel === 1 && RSFsel === 1) {
theForm.action = target3;
theForm.submit();
return true;
}
else if (RSGsel === 1 && RSFsel === 1) {
theForm.action = target4;
theForm.submit();
return true;
}

}
</script>

1 个答案:

答案 0 :(得分:0)

在尝试使用之前,您需要获取隐藏字段的值,例如:

function doSubmit() {

    var RSAsel = document.getElementById("RSAsel").value;
    var RSGsel = document.getElementById("RSGsel").value;
    var RSFsel = document.getElementById("RSFsel").value;
    //rest of your code
}

并且javascript中没有header( "Location: $errorurl" );,你将它与PHP混淆