jquery表单事件监听器

时间:2011-05-02 08:20:14

标签: jquery events forms submit listener

可以为表单创建一个事件监听器,这样如果一个人没有做出动作(例如从列表中选择任何元素),表单将不会提交,并最终显示警告?

谢谢你!

3 个答案:

答案 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”。