【问题标题】:Submit a form without using submit button不使用提交按钮提交表单
【发布时间】:2018-03-03 23:23:52
【问题描述】:

我正在使用表单提交数据以从数据库中获取记录。
在表单中,我使用了两个选择标签选项。

因此,选择选项后,表单应该在不使用提交按钮的情况下提交。 我正在等待响应以在选择输入后提交表单,而不使用它应该自动提交的提交按钮(或任何按钮)。

【问题讨论】:

  • 如何判断表格是填满还是还需要工作?\
  • 到目前为止你尝试过什么?表格是否应该提交任何选择?还是两者兼而有之?

标签: javascript forms


【解决方案1】:

创建一个函数来检查你想要的一切是否已经设置,如果有,提交表单:

function submitIfFormComplete()
{
  // Check the select has something selected
  if (document.getElementById('selectOne').selectedIndex > 0)
  {
      document.getElementById('formID').submit();
  }
}

然后在您的选择上,绑定 onchange 事件以运行该函数。

这是一个工作示例:http://jsfiddle.net/JE6AM/

Select your car make:
<select id='sel1' name='selectCar' onchange="checkAndSubmit()">
    <option value="0">Select...</option>
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="mercedes">Mercedes</option>
  <option value="audi">Audi</option>
</select> 
<br/><br/>
Select your gender:
<select id='sel2' name='selectGender' onchange="checkAndSubmit()">
    <option value="0">Select...</option>
  <option value="Male">Volvo</option>
  <option value="Female">Saab</option>
</select> 

Javascript:

function checkAndSubmit()
{
  if (document.getElementById('sel1').selectedIndex > 0
     && document.getElementById('sel2').selectedIndex > 0)
  {
      //document.getElementById('formID').submit();
      alert('both have been selected!');
  }
}

我已将提交替换为 alert() 以向您展示代码是如何触发的。

编辑:您可以使用$_REQUEST['selectCar'] 访问该值。

【讨论】:

  • @SLC..谢谢..这是工作..但我必须检索我选择的值..我该怎么做?..如果我使用提交按钮,我可以检索使用 $_REQUEST['name'] 的值..但是在这里如何检索我选择的值?..
  • @SLC..我可以知道如何获取我在两个 selct 选项中选择的值吗?
  • 你可以用 $_REQUEST 做同样的事情,只要确保你的&lt;select&gt; 有一个name 属性。我已经编辑了我的答案,将这个 name 属性放入。
【解决方案2】:

每个表单都有一个submit() 函数。

<form name="myForm">
...
</form>

可以提交

document.myForm.submit();

【讨论】:

  • 这是真的。 @bhai,您可以在下拉菜单中使用 javascript 更改功能,并使用此答案代码提交表单。
【解决方案3】:

已经使用jquery轻松提交表单。

<form id="test">
<select name="select1" id="select1">

</select>
</form>

$('#select1').change(function() {
    $("#test");
});

【讨论】:

    【解决方案4】:
    <form action="submit.php" id="submitform" method="post">
    Name:<input type="text" name="nm"> <br>
    Age:<input type="number" name="age">
    <a href="javascript:document.getElementById('submitform').submit()">submit</a>
    

    【讨论】:

    • 您应该简要说明您的答案为何有效