我正在尝试使用html javascript和css编写联系方式。我知道客户端验证不是你现在应该使用的,但我想理解它!它不是一个在安全性很重要的站点中实现的联系方式!
我的整个代码:http://jsfiddle.net/t59By/
由于某些原因,我的验证码的随机数字不会显示在小提琴中,但是当我在浏览器中打开它时会显示。
我遇到的问题是点击提交后自动刷新。它出现后我发生了:
action="MAILTO:example@example.com" method="post" enctype="text/plain"
我的代码...
如果我把它放回刷新的停止位置,但无论表格是否经过验证,都会发送电子邮件...
我已经找到了解决方案,并发现“返回false”和cookie作为选项。我试过了两次,但似乎未能正确地做到这一点。
当用户点击提交按钮时,如何停止自动刷新和丢失字段输入?
感谢您的任何想法!
已解决:我刚刚将输入类型从提交更改为按钮,现在工作正常!感谢您的帮助!我仍然很欣赏可能导致它的原因以及我的cookie尝试(第一小提琴)出了什么问题...谢谢!
答案 0 :(得分:1)
使用buttonclicked()替换单击功能上的按钮。
<input type="submit" onclick=" return buttonClickd();" value="Submit it!" id="button">
和代码是
var flag;
function buttonClickd(){
var flag = true;
dcc (); hi1 (); hi2 (); hi3 (); hi4 (); hi5 (); hi6 (); hi7 (); hi8 (); emic (); pwic(); checkemail(); checkpw(); addNums(); ccb(); callEmail (); error ();
if(flag)
return flag;
else{
return flag;
error();
}
}
place flag = false;当上述功能不符合条件时。例如
var hi1 = function () {
if ($('#input1').val() === "") {
$('#input1').addClass('hi');
flag = false;
return;
}
};
Fiddle Update。由于captch,我没有测试你的代码。只需修改与上述条件相关的代码即可。我认为你有能力做那些小事
答案 1 :(得分:1)
这将显示演示 -
请注意,您应该在函数'return false
'和函数调用中"return s();"
。必须有第二次回归。
否则它不会工作。
答案 2 :(得分:0)
唯一可行的方法是使用AJAX验证。在Ajax中,你可以更好地控制表单而不是javascript。特别是您可以实时验证并提交而无需离开页面。
$(document).ready(function(){
$("#formid").submit(function(event) {
event.preventDefault();
$.ajax({
url : 'example@example.com',
data: {
},
success: function(response){
alert ('Successfully registered');
}
})
});
})
你必须包含bootstrap和ajax类来激活上面的代码。如果您不熟悉AJAX Click here for simple tutorial
event.preventDefault();是关键在这里。它会阻止您的页面刷新,而是会遵循下一个ajax命令。
希望这有助于......
答案 3 :(得分:0)
正如一位评论者指出的那样,表单的代码目前在未定义的变量上引发了一些错误。如果页面的javascript中发生错误,这几乎就是您获得“刷新”行为的原因,因为当按下提交按钮时浏览器将无法访问您的验证代码,并随后执行标准回发。< / p>
我建议的第一件事是在本地测试您的代码。如果您还没有这样做,请尝试使用Firefox的Firebug扩展程序,它将提供一个javascript控制台,以帮助您识别表单上的任何错误。一旦排除了任何客户端脚本错误 - 您就可以继续测试验证逻辑。
希望这有帮助