可以为表单创建一个事件监听器,这样如果一个人没有做出动作(例如从列表中选择任何元素),表单将不会提交,并最终显示警告?
谢谢你!答案 0 :(得分:3)
可能确实如此。最直接的方法是处理所有元素的change
事件,在那里引发一些全局标志,然后在submit
事件中检查该标志:
$("#Form1 input,textarea,select").each(function() {
$(this).change(function() {
window["canSubmit"] = true;
});
});
$("#Form1").submit(function() {
if (window["canSubmit"] === true)
return true;
alert("Please fill the form");
return false;
});
实时测试案例:http://jsfiddle.net/Wahr2/
答案 1 :(得分:1)
您可以点击提交按钮连接此操作(从列表中选择任何元素)并检查是否选择了任何列表元素,否则触发警报
$(document).ready(function()
{
$('#Submit').click(function(){
if (!$("#mySelect option:selected").length)
alert("Select a value");
});
});
答案 2 :(得分:1)
这应该有效。 http://jsfiddle.net/eLgEZ/
<form id="form">
<input type="checkbox" onclick="$('#form').data('valuesChanged',true)"/>
<input type="submit" value="submit" onclick="if($('#form').data('valuesChanged') == undefined){alert('iiik')}else{alert('ok lets submit')};return false"/>
</form>
但是,您需要为所有表单元素添加一个侦听器,在更改时将设置表单数据'valuesChanged'
修改强>
请记住在提交按钮的onclick语句末尾删除“return false”。