【问题标题】:HTML/PHP change the button used when enter is pressedHTML/PHP 更改按下回车时使用的按钮
【发布时间】:2015-09-02 14:11:41
【问题描述】:

所以我有 2 个按钮

<button type="submit" name="print">print</button>
<button type="submit" name="search">search</button>

在按钮搜索旁边有一个文本框

<input type="text" name="txtSearch" autofocus>

现在我想做的是,每当我按下回车键时,我都想使用按钮搜索提交。但是会发生什么是按钮打印总是被提交,因为它位于按钮搜索之上。由于设计的原因,我不能将按钮搜索放在打印的顶部。是否可以在php中做到这一点?还是我需要javascript?我刚刚开始编程并尝试了解更多信息。非常感谢您的帮助!

【问题讨论】:

  • 与PHP无关。查找javascript表单onsubmit事件
  • 另外,您的代码表明您有一个表单,或者一个表单只需要一次提交,因此第一个将被视为唯一一个而其他被忽略,因此您可能需要 JavaScript 用于其中一个两者,或两者都取决于这些按钮背后的操作。
  • @zera:您可以提交任意数量的提交,并且只有被点击的提交。但 OP 没有点击任何一个按钮,因此出现了问题。
  • 谢谢你,我会试着查一下!谢谢你的主意!
  • @MarcB 是的。我没有点击这就是问题所在。因为大多数时候使用键盘中的“输入/返回”,所以我想输入使用搜索按钮而不是打印按钮。

标签: javascript php html button


【解决方案1】:

你不能用 php 做到这一点,你应该使用 javascript 或 jquery 。

为您的搜索输入添加一个 ID,如下所示:

<button id='search' type="submit" name="search">search</button>

那么您可以在 jquery 中使用此代码:

$('#search').keydown(function(e) {
    var key = e.which;
    if (key == 13) {
    $('#your-form').submit(); 
    }
    });

【讨论】:

  • 搜索应该是默认行为。因此 print 应该使用 JavaScript。另外,function(e).
【解决方案2】:

你可以...

分为两种形式:

<form>
  <button type="submit" name="print">print</button>
</form>
<form>
  <button type="submit" name="search">search</button>
  <input type="text" name="txtSearch" autofocus>
</form>

或将打印按钮更改为:

  • &lt;a href="print.php?id=123"&gt;Print&lt;/a&gt;
  • &lt;button type="button"&gt;print&lt;/button&gt;

或者您可以先放置搜索按钮,然后使用float 或某种position:absolutemargin-top CSS。

或者按照 Parsa 的建议使用 JavaScript。

【讨论】:

    猜你喜欢
    • 2012-04-22
    • 1970-01-01
    • 1970-01-01
    • 2010-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多