即使以下代码正常运行,我的老板也提到我应该返回一个标志(变量),而不是返回true或false。我理解那部分,但是我的问题是如何在表单中获取变量的值。这是我的表格:
<form id="myForm" action="post.php" method="post" onsubmit="return validate();">
这是我的JavaScript代码
function validate(){
if(document.getElementById('postTW').checked || document.getElementById('postFB').checked){
var twFlag = false;
var fbFlag = false;
var form = document.getElementById("myForm");
var twChecker = document.getElementsByName('twitter[]');
var fbChecker = document.getElementsByName('fbPages[]');
for (var i = 0; i < twChecker.length; i++) {
if(twChecker[i].checked){
twFlag = true;
}
};
for (var j = 0; j < fbChecker.length; j++) {
if(fbChecker[j].checked){
fbFlag = true;
}
};
if(twFlag === false && fbFlag === false){
alert("We can't proceed, not enough arguments");
form.reset();
return false;
}
if (fbFlag === twFlag){
alert("tw and fb would be posted");
return true;
}
else if (fbFlag === true && twFlag === false)
{
alert("only fb would be posted");
return true;
}
else if (fbFlag === false && twFlag === true){
alert("Only tw would be posted");
return true;
}
else{
alert("Not enough arguments ");
form.reset();
return false;
}
}
else{
alert("Not enough arguments to submit the form");
return false;
}
}
谢谢你的建议
您可以type="hidden"
像这样输入一个字段
<input type="hidden" name="myfield" value="your_value">
然后像这样在JavaScript中使用它
function validate(){
var temp;
//code here
.....
if(twFlag === false && fbFlag === false){
alert("We can't proceed, not enough arguments");
form.reset();
temp = document.getElementById("myfield").value;
// assigned value to temp variable, assign true or false as value to temp if you are returning it before form submission
return temp; //returning temp value
}
if (fbFlag === twFlag){
alert("tw and fb would be posted");
temp = document.getElementById("myfield").value;
// assigned value to temp variable, assign true or false as value to temp if you are returning it before form submission
return temp; //returning temp value
}
.....
}
或者
您可以像这样为您的函数声明一个全局变量
var flag=false;//here I've set default value as false
function validate(){
.....
//code here and use flag variable
//for eg take this part of your code
if(twFlag === false && fbFlag === false){
alert("We can't proceed, not enough arguments");
form.reset();
flag = false;// assigning value to flag variable
return flag; //returning flag
}
if (fbFlag === twFlag){
alert("tw and fb would be posted");
flag = true;// assigning value to flag variable
return flag; //returning flag
}
.....
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句