在我的表单上使用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);});
重新定义提交事件,也没有效果。我真的很紧张,请帮忙
答案 0 :(得分:1)
今天我遇到了这个问题,我发现这是因为提交按钮的name属性是“submit”,与示例相同。
我没有在较新版本的jQuery中测试过这个,但我在使用仍在使用jQuery 1.4.2的旧网站上看到了这一点。
答案 1 :(得分:0)
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()调用,但我找不到它。对我来说仍然是一个谜。