Make on submit事件等待用户输入? JS

时间:2017-02-04 22:47:37

标签: javascript

让它更清晰。 JavaScript的。 我需要复制confirm()的行为但不使用confirm()xd。

所以基本上,我必须停止提交并等待用户的真/假值并提交表单。

现在我阻止表单提交,然后当用户单击“是”时,再次使用.submit()强制提交。

但是我不知道是否有办法让on submit事件等待来自另一个函数的真或假返回。

谢谢。

编辑:我刚刚意识到我不能做.submit()因为它会再次启动onsubmit。

1 个答案:

答案 0 :(得分:0)

使用confirm():

document.getElementById('submit-button').onclick = function() {
  if(confirm('Are you sure you want to submit?')) {
    // Do something
  }
    // Don't do something
}
<body>
  <input type="text" name="input" />
  <button id="submit-button" type="submit">Submit</button>
</body>

没有确认():

var submit = document.getElementById('submit-button');
var confirm = document.getElementById('confirm-button');
var cancel = document.getElementById('cancel-button');

document.getElementById('submit-button').onclick = function() {
  submit.style.display = 'none';
  confirm.style.display = 'inline';
  cancel.style.display = 'inline';
}

document.getElementById('confirm-button').onclick = function() {
  // Submit form
}

document.getElementById('cancel-button').onclick = function() {
  submit.style.display = 'inline';
  confirm.style.display = 'none';
  cancel.style.display = 'none';
}
<body>
  <input type="text" name="input" />
  <button id="submit-button" type="submit">Submit</button>
  <button id="confirm-button" type="submit" style="display: none;">Confirm</button>
  <button id="cancel-button" type="submit" style="display: none;">Cancel</button>
</body>