[英]Errors with event.preventdefault
这不行
JS:
var currentPath = window.location.pathname; var currentPage = currentPath.substring(currentPath.lastIndexOf('/') + 1); $(function() { $("#shoutBox").submit(function(event) { event.preventDefault(); var values = $('#shoutBox').serialize(); $.post("shoutbox.php", values) .done(function(data) { $('input:text[name=shout]').val("JE SHOUT IS GEPOST! WACHT 1 MINUUT!"); $('input:text[name=shout]').attr('readonly', true); setTimeout( function() { $('input:text[name=shout]').val("JE KAN EEN NIEUWE SHOUT MAKEN!"); $('input:text[name=shout]').attr('readonly', false); }, 60000); }); }); }); $(function() { $("#newName").submit(function(event) { event.preventDefault(); var valuen = $('#newName').serialize(); $.post("shoutbox.php", valuen) .done(function(data) { reload(); }); }); }); function to_new_page(link) { $("#content").fadeOut(function() { $(this).load(link+" #content", function() { $(this).fadeIn(); }) }); history.pushState({change: "page"}, "RandomRadio", "/"+link); } function reload() { to_new_page(currentPage); }
表格#shoutBox成功运行。
但是,当我两次提交表单#newName时,它将刷新页面。
也许是因为您的.done
调用了reload()
吗?
不过,我会添加return false;
$("#newName").submit(function(event) {
event.preventDefault();
var valuen = $('#newName').serialize();
$.post("shoutbox.php", valuen)
.done(function(data) {
reload();
});
return false;
});
并且,请修正您的报价。 选择单引号或双引号并坚持使用。
我有一个解决方法:)
我在提交按钮中添加了一个ID,并使用了它
$("#submitshout").live("click", function(event){
代替
$("#shoutBox").submit(function(event) {
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.