一周前,我有一个关于Sweetalert的question。然后我得到一个对我有帮助的答案,但不幸的是,它仍然无法正常工作。当用户单击“提交”按钮时,但仅当字段被填充时,我才需要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>
答案 0 :(得分:1)
我看不到按钮被触发的地方
在这一行上,
<button name="submit" type="submit" class="btn" id="sendMessageButton">Küldés</button>
您至少有两个选项可以触发按钮
第一
您可以将行更改为此
<button name="submit" type="submit" class="btn" id="sendMessageButton" onclick="Sweetalert1()">Küldés</button>
第二
您可以将其添加到您的javascript部分
$("#sendMessageButton").click(function(){
Sweetalert1();
});
第三
您可以使用表单的提交事件
$("form").submit(function(){
Sweetalert1();
});
完成后,将条件修改为
if (name !== "" && message !== "" && email !== "")
OR
if (name.trim() && message.trim() && email.trim())
答案 1 :(得分:0)
您的情况不正确,请尝试这样做:
if (name && message && email)
{
// Code
}
答案 2 :(得分:0)
一个空字段不等于一个空格(" "
),它等于一个空字符串(""
)。因此,您需要检查字段是否等于空字符串,而不是带有空格的字段:
if (name != "" && message != "" && email != "") {
// code...
}
但是,如果您也想将其中没有文本(只有空格)的字段也视为无效,则可以将.trim()
方法添加到name
,message
中和email
变量。通过使用修剪,您可以切换诸如
" "
放入""
,然后将其视为无效输入:
if (name.trim() != "" && message.trim() != "" && email.trim() != "") {
// code...
}
由于将空字符串视为falsey
(即"" == false
),因此您无需检查输入的内容是否等于空字符串,而只需检查x.trim()
是否等于像这样true
:
if (name.trim() && message.trim() && email.trim()) {
// code...
}