0

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

<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);});,也完全没有效果。我真的很绝望,神经紧张,请帮忙

4

3 回答 3

1

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

我没有在较新版本的 jQuery 中对此进行测试,但我在仍在使用 jQuery 1.4.2 的旧网站上工作时看到了这一点。

于 2017-12-22T16:17:48.657 回答
0

my workaround for this: instead of $('#manualform').submit(); do $('#hiddensubmit').click();.

my guess is some other javascript might have re-declared the submit() call, but i couldn't find it. still remains a mystery to me.

于 2013-03-25T10:38:55.867 回答
0
  1. 将 validate 调用放在 click 函数之外。它只需要在页面加载时调用一次。

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();
    }
});
于 2013-03-25T10:20:23.850 回答