警报不与输入合作 [英] alert is not cooperating with input

查看:107
本文介绍了警报不与输入合作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我知道这样做,你可以创建用户,但我不想让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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆