我搜索了网络,我试过在所有地方实施“防止默认”和“返回错误”的声明,但我似乎找不到防止此表单提交并重新加载页面的方法。它只在表单被验证时才会重新加载。我是一个初学者,但我真的很努力地实现脚本来验证表单(它具有“post” - 方法和“#”作为动作),并进行ajax调用。这是一个学校任务,对于你们可以给予的任何指示都会优雅。有没有办法阻止用这个javascript/jquery提交表单?
$(document).ready(function()
{
$("#submit").click(function()
{
var gbname = $("#gbname")[0];
var gbmessage = $("#gbmessage")[0];
formFields = [gbname, gbmessage]
var warning = false;
for (i=0; i<formFields.length; i++)
{
formFields[i].style.backgroundColor = "white";
if (formFields[i].value == "")
{
formFields[i].style.backgroundColor = "red"
$(formFields[i]).bind("keyup", resetBgColor);
$(formFields[i]).bind("change", resetBgColor);
warning = true;
}
}
if (warning == true)
{
alert("Vänligen fyll i fälten korrekt!");
return false;
}
else
{
$.post('ajax.php', {gbname: gbname, gbmessage: gbmessage},
function(data)
{
$("#successmessage").html(data);
$("#successmessage").hide();
$("#successmessage").fadeIn(1500); //Fade in error/success-meddelande
var comment = $("<div class='film2'><p class='names'><b>Namn:</b>" +gbname+ "</p> <p class='messages'><b>Meddelande:</b>" +gbmessage+ "</p></div>");
$("#kommentarer").prepend(comment);
clearForm();
});
return false;
}
return false;
});
});
确保你的按钮是一个普通的按钮,而不是一个提交按钮:) – antlersoft 2013-04-29 17:39:10
而不是'点击'尝试使用'$('form')。submit(function(){return false;})' – 2013-04-29 17:40:11
每当按钮被点击,你正在绑定具有事件的表单元素。这是一个坏主意。 – epascarello 2013-04-29 17:41:18