jquery表单完全没有效果

时间:2013-03-25 10:03:12

标签: jquery

在我的表单上使用jquery .submit()完全没有效果。我甚至检查了我网站上的其他javascripts,以确保该方法没有被淹没。控制台是空的,也没有错误。我的代码:

<form method='POST' id='manualform'>
                <input type="submit" value="submit" name="submit" id="hiddensubmit" style="display:none;"/>
                    <div>$MANUAL$</div>
                    <div class="space20"></div>
                    <input class="required email" id="emailinput" type="text" name="email" placeholder="meno@email.com" style="font-family:arial;font-size:12px;color:white;width:250px;height:40px;background-color:black;opacity:0.5;padding-left:10px;" />
                    <div class="space20"></div>
                    <div
                        style="height: 50px; width: 300px; background-image: url('img/wow_img_pdf_icon.png'); background-repeat: no-repeat; background-position: 10px top; padding-top: 5px;">
                        <a id="action3" style="display: block; margin-left: 110px;"
                            >$STAHNOUT$</a>

                    </div>
                </form>

jquery的:

$(document).ready(function() {
            $('#action2').scrollToFixed({
                marginTop: 20,
                fixed: function(){$('#hiddenfixed').css('display','');$('#action2').css('background-position','bottom');}   ,
                preUnfixed :function(){$('#hiddenfixed').css('display','none');$('#action2').css('background-position','top');} 
            });

            $('#action3').click(function(){     
                $('#manualform').validate({                 

                });             
                if(!($('#manualform').valid())) return false;
                else {
                    $('#hiddensubmit').attr('value','submit');
                    $('#manualform').submit();
                }                   
            });
        });

即使我尝试使用$('#manualform').submit(function(){alert(1);});重新定义提交事件,也没有效果。我真的很紧张,请帮忙

3 个答案:

答案 0 :(得分:1)

今天我遇到了这个问题,我发现这是因为提交按钮的name属性是“submit”,与示例相同。

我没有在较新版本的jQuery中测试过这个,但我在使用仍在使用jQuery 1.4.2的旧网站上看到了这一点。

答案 1 :(得分:0)

  1. 将验证调用置于click函数之外。它只需要在页面加载时调用一次。
  2. http://jsfiddle.net/samliew/n4MRM/

    $('#manualform').validate();
    
    $('#action3').click(function() {
        console.log('link clicked');
        if($('#manualform').valid()) {
            $('#hiddensubmit').attr('value', 'submit');
            console.log('form submitted');
            $('#manualform').submit();
        }
    });
    

答案 2 :(得分:0)

我的解决方法: 代替$('#manualform').submit();$('#hiddensubmit').click();

我的猜测是其他一些javascript可能已经重新声明了submit()调用,但我找不到它。对我来说仍然是一个谜。