【问题标题】:Post form without a button发布没有按钮的表单
【发布时间】:2012-07-20 20:03:25
【问题描述】:

我正在浏览 Apple 网站上的搜索框,发现它没有输入 type="submit" 来发布表单,即使禁用了 Javascript。

<form action="/search/" method="post" class="search" id="g-search">
    <div class="sp-label">
        <label for="sp-searchtext">Search</label>
        <input type="text" name="q" id="sp-searchtext" accesskey="s">
     </div>
 </form>

从未真正探索过它,我认为这意味着您可以发布表单而无需提交按钮,它只依赖于用户按下返回键。

两个问题:1) 这是否兼容所有浏览器?那么在 IE 7 中按下 return 仍然有效吗? 2) 有没有办法在不使用 asp:button 的情况下在 ASP.NET 中执行此操作?我可能会将它放在一个占位符中(我通常会使用 defaultButton 来允许页面上有多个表单),但如果我可以完全摆脱该按钮,那就太好了。

【问题讨论】:

  • 我想知道我们是否可以使用 __doPostBack('page' , '');类似这样的东西,并在键输入时调用它,但它再次使用 Javascript ...:(

标签: asp.net forms


【解决方案1】:

是的,当然可以按照您的意愿进行操作。

更简单的事情是有一个 onclick 事件,它调用一个执行提交的函数,如下所示:

JQuery:

$('#id_of_form').submit()

javascript:

document.name_of_my_form.submit();

document.getElementById('id_of_my_form').submit();

这么简单:)

【讨论】:

  • 有没有不依赖 Javascript 的方法?我很欣赏使用 .net 我可能仍然依赖它,但我很想知道不使用 JS 的可能性。
  • javascript 有什么问题?现在有没有网站不使用它?
  • Javascript 本身并没有什么问题,我只是好奇地发现没有它和没有按钮也可以发布表单。有趣的是,我创建了一个只有输入类型 = 文本的虚拟表单(不是 asp)。点击返回会将其发布到表单上的操作中。然而,在一个 aspx 页面上做同样的事情(让它使用默认的 asp.net 表单)似乎以某种方式停止了这个工作,即使 JS 关闭。
猜你喜欢
  • 2013-03-31
  • 1970-01-01
  • 2019-09-17
  • 1970-01-01
  • 1970-01-01
  • 2012-07-19
  • 2014-06-19
  • 2014-10-28
  • 1970-01-01
相关资源
最近更新 更多