当字段是字段不起作用时,SweetAlert弹出消息



我一周前有一个关于SweetAlert的问题。然后我得到了一个对我有帮助的答案,但不幸的是,它仍然无法正常工作。当用户键入提交按钮时,我想要一条SweetAlert弹出消息(成功(,但前提是填充字段时。我不知道问题是什么。目前,当用户键入按钮时什么都不会发生。

这是我的代码:

function Sweetalert1(){
    var name = document.getElementById("name").value;
    var message = document.getElementById("message").value;
    var email = document.getElementById("email").value;
    if (name != " " && message != " " && email != " "){
        Swal.fire(
                'Köszönjük!',
                'Megkaptuk a leveledet és hamarosan válaszolunk!',
                'success',
    )}
}

和html的一部分:

<form role="form" id="contactForm" action="contact.php" method="post">
                <div class="control-group">
                    <div class="form-group floating-label-form-group controls mb-0 pb-2">
                        <label>Név</label>
                        <input class="form-control" id="name" name="name" type="text" placeholder="Név" required="required" data-validation-required-message="Kérlek add meg a neved!">
                        <p class="help-block text-danger"></p>
                    </div>
                </div>
                <div class="control-group">
                    <div class="form-group floating-label-form-group controls mb-0 pb-2">
                        <label>Email Cím</label>
                        <input class="form-control" id="email" type="email" name="email" placeholder="Email" required="required" data-validation-required-message="Kérlek add meg az Email címed!">
                        <p class="help-block text-danger"></p>
                    </div>
                </div>
                <div class="control-group">
                    <div class="form-group floating-label-form-group controls mb-0 pb-2">
                        <label>Üzenet</label>
                        <textarea class="form-control" id="message" rows="5" placeholder="Üzenet" name="message" required data-validation-required-message="Kérlek írd be az üzeneted!"></textarea>
                        <p class="help-block text-danger"></p>
                    </div>
                </div>
                <div id="success"></div>
                <div class="form-group">
                    <button name="submit" type="submit" class="btn" id="sendMessageButton">Küldés</button>
                </div>
            </form>

我看不到按钮触发的位置

在这条线上,

<button name="submit" type="submit" class="btn" id="sendMessageButton">Küldés</button>

您至少有两个选项来触发按钮

1st

您可以将行更改为此

<button name="submit" type="submit" class="btn" id="sendMessageButton" onclick="Sweetalert1()">Küldés</button>

2nd

您可以将其添加到JavaScript部分

$("#sendMessageButton").click(function(){
    Sweetalert1();
});

3rd

您可以使用表格的订婚事件

$("form").submit(function(){
    Sweetalert1();
});

完成此操作后,将您的状况修改为

if (name !== "" && message !== "" && email !== "")

if (name.trim() && message.trim() && email.trim())

您的病情不正确,尝试这样做:

if (name && message && email)
{
   // Code
}

一个空字段不等于空间(" "(,它等于一个空字符串(""(。因此,您需要检查字段是否等于一个空字符串,而不是具有空间的字段:

if (name != "" && message != "" && email != "") {
  // code...
}

但是,如果要将其中没有文本(和空间(的字段视为无效的字段,则可以将.trim()方法添加到namemessageemail变量中。通过使用Trim,您可以转动输入,例如 " "进入"",然后将其视为无效的输入:

if (name.trim() != "" && message.trim() != "" && email.trim() != "") {
  // code...
}

作为一个空字符串被视为falsey(IE "" == false(,您不需要检查输入是否等于一个空字符串,而只需检查x.trim()是否将其评估为true So:

if (name.trim() && message.trim() && email.trim()) {
  // code...
}