警报不与输入合作 [英] alert is not cooperating with input
问题描述
我知道这样做,你可以创建用户,但我不想让PHP知道输入中是否有内容,为什么我应该用jquery完成它,
I know to do so that you can create user but I do not want php to find out if there is content in the input or not, why should I have done it with jquery,
问题是,jquery不会回来告诉我什么是错的?问题是它不会以任何方式回来并显示我的警报。或者我缺少的东西添加到它。
The problem is that jquery does not come back and tell me what's wrong? and The problem is that it does not come back and show my Alert in some manner whatsoever. or what I lack of add to it.
jQuery
$(function () {
var $opretbruger = $(".opretbruger"),
$pwd = $("#pass2"),
$usr = $("#brugernavn");
$navn = $("#fornavn");
$efter = $("#efternavn");
$tjek = $("#tjek");
$opretbruger.on("submit", function (event) {
var msg = "Husk ",
usr = ($usr.val().trim() !== ""),
pwd = ($pwd.val().trim() !== "");
navn = ($navn.val().trim() !== "");
efter = ($efter.val().trim() !== "");
tjek = ($tjek.val().trim() !== "");
msg += !usr ? "brugernavn" : "";
msg += !usr && !pwd ? " og " : "";
msg += !pwd ? "kodeord" : "";
msg += !usr && !pwd && !navn ? " og " : "";
msg += !navn ? "fornavn" : "";
msg += !usr && !pwd && !navn && !efter ? " og " : "";
msg += !efter ? "efternavn" : "";
msg += !usr && !pwd && !navn && !efter && !tjek ? " og " : "";
msg += !tjek ? "Jeg godkender brugerbetingelserne!" : "";
(pwd && usr && navn && efter && tjek) || alert(msg);
return (pwd && usr && navn && efter && tjek);
});
});
Html
Html
<form name="opretbruger" action="<?php $_SERVER['PHP_SELF'];?>" method="post" id="opretbruger">
<table width="100%" cellpadding="0" cellspacing="0">
<tr>
<td>Brugernavn</td>
<td><input type="email" name="email" class="opretbar" id="brugernavn"></td>
</tr>
<tr>
<td>Password</td>
<td><input type="password" name="pa2" class="opretbar" id="pass2"></td>
</tr>
<tr>
<td>Fornavn</td>
<td><input type="text" name="fornavn" class="opretbar" id="fornavn"></td>
</tr>
<tr>
<td>Efternavn</td>
<td><input type="text" name="efternavn" class="opretbar" id="efternavn"></td>
</tr>
<tr>
<td>Betingelserne</td>
<td><input type="checkbox" name="tjek" id="tjek"> Jeg godkender <a href="/brugerbetingelser/">brugerbetingelserne</a></td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="tilmelddiggratis" value="Opret bruger" class="click opretbruger"></td>
</tr>
</table>
</form>
本来希望它是如此确定的电子邮件和密码,所以它必须出面告诉它那就是缺少它。
Would have liked it to be so certain email and password missing so it must just come forward and tell it that that lack it.
推荐答案
表单选择器应该是 $ opretbruger = $('form [name =opretbruger]')
因为 opretbruger
是表单的名称不是类
The form selector should be $opretbruger = $('form[name="opretbruger"]')
because opretbruger
is the name of the form not class
var $opretbruger = $('form[name="opretbruger"]')
演示:小提琴
另外,不要两次评估有效性,缓存值如
Also don't instead of evaluating the validity twice, cache the value like
var valid = pwd && usr && navn && efter && tjek;
if (!valid) {
alert(msg);
}
return valid;
演示:小提琴
这篇关于警报不与输入合作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!