多个提交按钮 - 将文本字段绑定到提交按钮

时间:2014-02-07 15:36:28

标签: html forms

我有一个带有多个提交按钮的简单html表单,我希望我的应用程序在我点击的任何提交按钮上采取不同的行为。

示例:

<form method="POST">
    <input type="submit" value="test" name="test" />
    <input type="text" name="search_query" style="width: 300px; padding: 5px" value="some text">
    <input type="submit" value="Search" name="search" />
    <input type="text" name="search_query2" style="width: 300px; padding: 5px" value="some text">
    <input type="submit" value="Search" name="search2" />
    <input type="submit" value="GO" name="next" />
</form>

这对我有用,我知道如何区分我点击的按钮。我遇到的问题是,如果我在编辑文本字段时按 Enter ,则会点击第一个提交按钮(名为test的按钮)。这是否可以让浏览器知道(仅使用HTML - 这一点的目的是使其与 NO javascript一起使用)我推送 Enter 并且它应该发送{ {1}}使用POST,而不是search?那么文本字段是否有某种绑定到提交按钮?

3 个答案:

答案 0 :(得分:0)

此问题的解决方案是拥有多个form元素,包括您的不同submit按钮和相应的文本字段。

我无法想到只有一个公式但没有使用Javascript的解决方案。

答案 1 :(得分:0)

您可以将您想要提交的那个移动到该列表中的第一个,如下所示:

<form method="POST">
    <input type="text" name="search_query" style="width: 300px; padding: 5px" value="some text">
    <input type="submit" value="Search" name="search" />
    <input type="submit" value="test" name="test" />
    <input type="submit" value="GO" name="next" />
</form>

但似乎您的HTML形式不佳,我建议 Merguez的 回答

自编辑以来,没有Javascript / jQuery就无法做到这一点。

答案 2 :(得分:0)

这对PHP来说并不难。 第一步:将按钮更改为实际控件:

变为

<form method="POST">
<input type="text" name="search_query" style="width: 300px; padding: 5px" value="some 
text" />
<button type="submit" name="actionB" onclick="javascript:checkBtn();" value="Search">Search</button>
<button type="submit" name="actionB" onclick="javascript:checkBtn();" value="Test">Test</button>
<button type="submit" name="actionB" onclick="javascript:checkBtn();" value="Go">Go</button>
</form>

现在,提交表单时,请检查actionB的返回值。如果是&#34;搜索&#34;,则使用search_query的返回值将搜索网址拼凑在一起。

没有办法只使用HTML读取变量。如果您不打算使用脚本语言来执行此操作,则需要使用JavaScript。您可以在本机JavaScript中完全执行此操作。这个相对简单的函数不需要JQuery。

<script language="JavaScript">
function checkBtn() {
 var btnX=document.getElementById("actionB").value;
if (btnX=="Search") {
 // compose your new URL here
}
// repeat for each of the possible buttons
</script>

希望有所帮助! 史蒂夫