JavaScript Prompt() 显示两次

标签 javascript jquery

我正在尝试使用 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/

相关文章:

javascript - 命名空间内的构造函数

javascript - 当用户需要时获取文本字段

javascript - jQuery 动画完成不工作

javascript - JavaScript 中的字符串长度(以字节为单位)

javascript - 如何使用 for 循环为 jquery 对象赋值

jquery 验证输入并显示隐藏的 div

javascript - setTimeOut 在函数中未按预期工作

javascript - 正则表达式从一行中提取单词

javascript - amStock 绘制多个数据集图表 : Get names of all the Dataset selected for comparing

javascript - 如何将数组插入数组而不连接?