【发布时间】:2017-12-28 16:28:35
【问题描述】:
我目前是 webdevlopment 领域的初学者(并且在 stackoverflow 中也是新手..srry 问题格式不佳)。基本上,我遇到了 onsubmit 事件的问题,它没有从函数中获取返回值被调用....函数是:
function checkUnique1() {
var ok = true;
socket.emit('eCheck', {email: document.getElementsByName("email")[0].value});
socket.on('eValidateMessage', function(obj) {
if(obj.message == false)
{
document.getElementsByName("email")[0].style.borderColor = "#E34234";
document.getElementById("emailExist").innerHTML = "Email has not been registered";
document.getElementById("emailExist").style.color = "#E34234";
ok = false;
}
});
return ok;}
我正在使用这个函数来检查数据库中是否存在电子邮件。如果存在,该函数应该返回 true,onsubmit 应该触发,否则它将返回 false,onsubmit 不会触发并且表单不会被提交。 ..这是我的表格:
<form class="form-horizontal" action="/forgotPass" onsubmit="return checkUnique1()" method="post" id="formid">
<div class="form-group">
<label class="control-label col-sm-4"><h1>Creators Space</h1></label>
<div class="col-sm-8">
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-2"></label>
<div class="col-sm-10">
<label class="control-label">Please enter the email registered with Creators Space</label>
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-2" for="email">Email:</label>
<div class="col-sm-6">
<input type="email" class="form-control" name="email" onclick="emailRSet()" onkeypress="emailRSet()" placeholder="Enter email" required title="email (format: xx@xx.xx/xx@xx.xx.xx)" pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,3}$">
<span id="emailExist"></span>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-primary" value="submit">Submit</button>
</div>
</div>
现在,当所有上述代码都在一个 html 文件中时,这很有效,但是当我在把手模板中做同样的事情时,该函数似乎没有返回任何值,因此在两种情况下都提交了表单。 我怎样才能在车把模板中做同样的事情???可能是什么问题?
如果您需要更多信息,请告诉我
【问题讨论】:
标签: javascript forms handlebars.js