我的表单根据输入字段的值重定向提交到url。但如果电子邮件不正确,我的表格仍然提交。我该如何解决?此表单的URL是dokuchaeva.com/donate/。我需要验证是否是电子邮件。现代浏览器验证它购买默认值。如果电子邮件字段错误,我会发出警报,但表单仍然提交。我需要提交表单并根据插入的信息重定向到预定义的URL。
<form>
<label>DONATION AMOUNT</label> <input name="price" id="price" class="button" value="100" required size="6" tabindex="1"> RUB<br><br>
<label>YOUR E-MAIL</label> <input type="email" name="user_email" id="user_email" required="" placeholder="email@example.com" class="button" autofocus="autofocus" tabindex="0">
<input type="submit" id="submit" value="SUBMIT" class="button" tabindex="3" onclick="location.href= 'http://secure.onpay.ru/pay/dokuchaeva?'+'pay_mode=fix&pay_for=donation&price='+$('#price').val()+'¤cy=RUR&user_email='+$('#user_email').val()+'&pay_for=donation&convert=no&ln=en&url_success=dokuchaeva.com/donate/success.html&url_fail=dokuchaeva.com/donate/fail.html';">
</form>
答案 0 :(得分:1)
使用form.submit函数,如果你返回true,你知道表单提交已经全部处理或应该被中止 - 作为回报,如果返回为false,浏览器将正常发送表单。
<script>
function validateme(form) {
var isValid = false; // default, not true
for(var el in form.elements) if(form.elements.hasOwnProperty(el) {
// perform checks here
if(form.elements[el].value == "") isValid = false;
}
return !(isValid);
}
</script>
<form action="getUrlHereOrDocumentLocationIsUsed" submit="return validateme(this)">
...
</form>
答案 1 :(得分:0)
首先,您需要指定所需的验证类型。
如果您只想要基于客户端的验证来处理表单数据而不提交。
检查Jquery Validation插件非常方便。
http://docs.jquery.com/Plugins/Validation
如果您需要基于客户端和基于后端的验证。首先,您需要在客户端使用JQuery验证进行验证,然后提交表单并在后端使用验证逻辑。
E.g检查数据库中是否已存在电子邮件,或者是否已使用用户名等。