从按钮标签提交表单

时间:2013-02-11 18:49:33

标签: javascript html forms events submit

我在提交表单时添加了一个事件监听器,这是代码:

var formo = document.getElementById("ing");
formo.addEventListener("submit", validation, false);

但我正在使用带有此代码的按钮标记提交表单:

var enviar = document.getElementById("submit_btn");
enviar.addEventListener("click", envioFormulario, false);

function envioFormulario() {
  this.disabled = true;
  this.value = "Sending";
  this.form.submit();
}

用这个表单提交但是提交事件(第一行代码)似乎不起作用我能做些什么来使它工作?

3 个答案:

答案 0 :(得分:1)

我同意@Mathletics的评论。单击时进行验证,如果通过验证则提交:

var enviar = document.getElementById("submit_btn");
enviar.addEventListener("click", envioFormulario, false);

function envioFormulario() {
  if (validation()) {
      this.disabled = true;
      this.value = "Sending";
      this.form.submit();
  } else {
      alert("Validation failed. Didn't submit");
  }
}

答案 1 :(得分:0)

尝试在表单元素的“onsubmit”属性中设置函数名称。

答案 2 :(得分:0)

您的问题可能是防止出现默认行为。

您需要在处理程序函数中接收事件才能执行此操作。

function validation( event )
{
  if ( event.preventDefault ) event.preventDefault();
  event.returnValue = false;
  // continue validating
}