我对表格不是很好,而且对于应该是一个简单的问题我有很大的困难。
我有一个包含以下内容的表单:
<select id="values" name="Choice">
<option value="choose">Please Choose...</option>
<option value="01">Value 1</option>
<option value="02">Value 2</option>
</select>
我想要做的就是在没有选择value-01或value-02但禁用选项不起作用的情况下停止提交表单。
我怎样才能做到这一点?
更新:
我已经使用javascript来检查表单,但这似乎不起作用。
function submitForm() {
if (formObj.Choice.value == '') {
alert("Please select a value");
return false;
}
return true;
}
更新2:回答@ h4b0问题:
<input type="submit" value="Search" class="screen-reader-text button cf" name="SubmitButton" onclick="return submitForm();">
答案 0 :(得分:1)
在表单标记中,使用类似
的内容<form name='myForm' method='post' id='myForm' onsubmit='return submitForm()'>
....
</form>
提交表单时,它将运行该JavaScript函数,然后将结果的值返回给表单。如果是真的,它会发布数据。如果结果为false,则会取消提交。
您真的很接近提交按钮中的内容,但将onclick更改为onsubmit,并将事件绑定移动到表单标记。
[编辑]
您的表单永远不会返回false,因为您检查select中的值。由于没有选项具有value ='',因此if语句将永远不会计算为true并将false返回给函数调用者。
答案 1 :(得分:0)
试试这个,在提交表单时调用一个方法来通过selectedIndex检查你的条件并返回false来取消提交。
<script>
function validateMe(){
var x=document.getElementById("Choice").selectedIndex;
var y=document.getElementById("Choice").options;
if(y[x] != "01"|| y[x] != "02"){
return false;
}
return true;
}
</script>
<form name="YourForm" id ="YourForm" onSubmit="return validateMe()">
<select id="values" name="Choice" id="Choice">
<option value="choose">Please Choose...</option>
<option value="01">Value 1</option>
<option value="02">Value 2</option>
</select>
<input type="submit" value="Search" class="screen-reader-text button cf" name="SubmitButton">
</form>