我正在尝试使用 JavaScript 提示来获取用户的输入,以便在提交表单之前获取反馈。一切工作正常,但我面临的一个问题是 javascript Prompt() 在单击时显示两次。不知道为什么?
$(document).ready(function() {
$("#refuse_request").click(function(event) {
event.preventDefault();
promptfunction();
});
});
function promptfunction() {
var comment = prompt("Add your comment", 'Comment Here');
console.log(comment)
if (comment == "") {
document.getElementById("comment_refuse").value = 'No comment is given by user';
console.log(document.getElementById("comment_refuse").value)
//$('#refuse_form').submit();
} else if (comment != null && comment != "") {
document.getElementById("comment_refuse").value = comment;
console.log(document.getElementById("comment_refuse").value)
//$('#refuse_form').submit();
}
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form method="POST" id="refuse_form">
<input type="text" name="req_to" hidden>
<input type="text" name="req_of" hidden>
<input type="text" name="ans" value="Refuse" hidden>
<input type="text" name="comment_of" id="comment_refuse" value="" hidden>
<button type="submit" id="refuse_request" style="color:red;" class="btn">click</button>
</form>
最佳答案
你的代码真是一团糟,尝试在“if”之前放一个分号(;)来关闭控制台语句,这样就不会出现“bug”,如果问题仍然存在,请将你的代码放在代码片段这样会更容易帮助您,并且最好将提示消息设置为这样的变量
<script>
function promptfunction() {
var msg = "In order to improve our match requests, \n please explain us why...";
var comment = prompt(msg);
console.log(comment);
if (comment == "") {
document.getElementById("comment_refuse").value ="No comment is given by user";
console.log(document.getElementById("comment_refuse").value);
$("#refuse_form").submit();
} else if (comment != null && comment != "") {
document.getElementById("comment_refuse").value = comment;
console.log(document.getElementById("comment_refuse").value);
$("#refuse_form").submit();
}
}
</script>
关于JavaScript Prompt() 显示两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59944228/