我有一个带有表单的Html模板。
<form id="my_form" method="post" action="/register/">
<input id="cemail" name="email" size="25" class="textbox required email" style="width: 250px"> <br><br>
<input id="csubmit" type="submit" onclick="Clicked();" value="Send" />
如果引入的电子邮件是正确的,我还有一个用于测试的Jquery代码:
<script type="text/javascript" src="/js/jquery.validate.js"></script>
<script>
function Clicked() {
$("#my_form").validate().form();
value = $("#cemail").val();
alert("ufffff");
$.get("/exists/", {email: value}, function(data) {
$('#text')[0].innerHTML=data;
});
}
</script>
直到这里一切都好。我执行程序时出现问题。总是动作=“/ register”启动,我不希望它发生。我想那样:
如果在客户端浏览器上停用了jquery,请执行表单所具有的操作。如果在客户端浏览器上激活了jquery,只需执行“Clicked()”函数而不是表单的操作(“/ register /” - &gt;调用django函数)
有人帮我这么做吗?有可能吗?
答案 0 :(得分:0)
您需要从Clicked
函数返回false。
从JavaScript中的事件处理程序返回false
告诉浏览器不要执行与该元素关联的默认操作(链接或按钮)。
如果你想成为超级正确的人,你应该将自己附加到表单的submit
动作并在那里返回false。这将允许用户点击返回键以提交表单,但停止浏览器进行POST:
$('#my_form').submit(function(){
$("#my_form").validate().form();
value = $("#cemail").val();
alert("ufffff");
$.get("/exists/", {email: value}, function(data) {
$('#text')[0].innerHTML=data;
});
return false;
});
如果禁用JavaScript,浏览器将正常执行表单的默认操作。