我有一个表格,用于制作像这样的dumbnes
<form id= 'lol' name = 'whyyyyy'>
<input name='dumbo'>
<input name='idiot'>
<input type='submit' value='i have no idea why he done it like this' onclick='document.lol.submit()'>
</form>
现在,我想阻止实际发送表单,但到目前为止所有尝试都失败了。
我的代码看起来像这样。
$(document).ready(function(){
$('form[name="whyyyyy"]').submit(function(e){
e.preventDefault();
alert(1);
return false;
});
})
但是内联的submit命令绕过了jQuery函数。
有人可以将光线切碎吗???
编辑:
以下是jfiddle中的代码示例。你可以看到它被jQuery过去了......
答案 0 :(得分:1)
如果您不需要提交按钮,为什么不使用常规按钮
<input type="button" />
答案 1 :(得分:0)
<input type='button' value='i have no idea why he done it like this' onclick='document.getElementById('lol').submit()'>
答案 2 :(得分:0)
只需使用普通按钮代替提交即可。
如果您想绕过提交按钮,可以取消按钮的等级。
<input type='submit' class='cancel' value='i have no idea why he done it like this' onclick='document.lol.submit()'>
答案 3 :(得分:0)
在您的附加JavaScript中,删除内联onclick事件并将其替换为您想要的任何内容。问题解决了。
您也可以完全删除他的按钮并将其替换为您选择的按钮。
答案 4 :(得分:0)
删除document.lol.submit
功能。这样,你就可以做任何你想做的事。
// Magic line
delete document.lol.submit;
// Or
$('form[name="whyyyyy"] input[type=submit]').attr('onclick', '');
$(document).ready(function(){
$('form[name="whyyyyy"]').submit(function(e){
e.preventDefault();
alert(1);
return false;
});
});
答案 5 :(得分:0)
删除onclick
$('input[type=submit]').attr('onclick','')
然后将click事件添加到功能就绪
$('input[type=submit]').on('click',function(){
//do your event
});
答案 6 :(得分:0)
好的,如果我做对了,你可以删除内联事件处理程序onclick
并添加自定义处理程序(执行验证和所有必要步骤):
$(document).ready(function() {
var $submit_button = $('input[type=submit]');
$submit_button.removeAttr('onclick');
$submit_button.click(function() {
//TODO: implement your custom handler
//execute validation etc.
});
});
答案 7 :(得分:-1)
您不一定需要使用jquery来实现它。你可以使用标准的javascript。
$(document).ready(function(){
document.whyyyyy.submit = function(e){
alert(1);
return false;
};
});
此示例有效,但您可能遇到了jquery错误。