我的表单有三个提交按钮,如下所示:
<input type="submit" name="COMMAND" value="‹ Prev">
<input type="submit" name="COMMAND" value="Save">
<input type="reset" name="NOTHING" value="Reset">
<input type="submit" name="COMMAND" value="Next ›">
<input type="button" name="NOTHING" value="Skip ›" onclick="location = 'yada-yada.asp';">
Run Code Online (Sandbox Code Playgroud)
按钮行是提交,重置和javascript按钮的混合.按钮的顺序可能会发生变化,但无论如何,保存按钮仍保留在prev按钮和下一个按钮之间.这里的问题是当用户点击"enter"提交表单时,post变量"COMMAND"包含"Prev"; 正常,因为这是表单上的第一个提交按钮.但是,当用户通过输入按钮提交表单时,我希望触发"下一步"按钮.有点像将其设置为默认提交按钮,即使它之前还有其他按钮.
我正在尝试使用blueimp的jQuery文件上传来允许用户上传文件.开箱即用,按照设置说明完美运行.但是为了在我的网站上实际使用它,我希望能够做一些事情:
该插件的所有文件都位于根目录下的文件夹中.
在所有情况下,预览显示,进度条运行,但文件无法上传,我在控制台中收到此错误:Uncaught TypeError: Cannot read property 'files' of undefined.我不明白插件的所有部分是如何工作的,这使得调试变得困难.
演示页面中的javascript:
$(function () {
'use strict';
// Change this to the location of your server-side upload handler:
var url = 'file_upload/server/php/UploadHandler.php',
uploadButton = $('<button/>')
.addClass('btn')
.prop('disabled', true)
.text('Processing...')
.on('click', function () {
var $this = $(this),
data = $this.data();
$this
.off('click')
.text('Abort')
.on('click', function () {
$this.remove();
data.abort(); …Run Code Online (Sandbox Code Playgroud) 我有一个带有多个按钮的表单,当有人按下回车时,我使用JavaScript提交第二个按钮.
这很好用,但是如果我在IE中打开这个表单,第一个按钮会出现一个蓝色边框,告诉用户"这是按下回车时按下的按钮".
有没有办法用CSS删除它而不覆盖按钮的其余部分样式?

例:
<button onclick="javascript:alert('remove');">Remove name</button>
Run Code Online (Sandbox Code Playgroud) 有没有办法确定哪个元素在onsubmit处理程序中提交了一个表单?试图编写一个知道点击了哪个元素的通用处理程序.例如,给定以下形式:
<form onsubmit="onSubmitHandler">
<input type="submit" name="submit1" />
<input type="submit" name="submit2" />
</form>
Run Code Online (Sandbox Code Playgroud)
如何在onSubmitHandler中确定单击了哪个提交按钮?我尝试了event.target/event.srcElement,但它提供了表单,而不是实际的提交按钮.
更新:我在这里写一个通用控件,所以它不知道表单上有什么.解决方案需要在不知道和更改表单的html的情况下工作.我的后备是走DOM,找到可能导致提交的所有按钮,但我想避免这种情况.
问题:
我从不指定提交按钮,因为我使用ajax提交表单,但有些表单具有自动提交功能,无论如何.
背景:
在我的整个应用程序中,我有一个实例,当点击输入按钮将自动提交表单和其他什么都不做的实例.例如; 有时我需要捕获"输入"按钮以获得自动提交,但有时候它似乎只是发生在它自己的上面而我没有找到模式.除了动态创建的表单似乎具有自动提交功能,但静态表单没有?是否有其他人有类似的问题.
例:
我的所有表单都删除了提交按钮,并且我没有指定目标或操作元素,如下所示.所有表单都通过AJAX传输数据.
<form id="ajaxForm">
<input>
</form>
<button>ButtonOutSideForm</button>
Run Code Online (Sandbox Code Playgroud)
不寻找防止自动提交的方法
我已经知道了"onsubmit = return false",e.preventDefault.我不是在寻找一种禁用自动提交的方法.我的问题是为什么它的存在似乎是武断的.谢谢.
我正在开发一个mvc应用程序.两个表各有一个单独的提交按钮.Table1在输入密钥上有默认提交.如何根据文本框焦点更改提交按钮?
<table>
...<td align="left"><%= Html.TextBox("name")%></td>
...<input id="nameSubmit" name="NameSubmit" type="submit" value="Search"/>
</table>
<table>
...<td align="left"><%= Html.TextBox("idNum")%></td>
...<input id="idSubmit" name="IdSubmit" type="submit" value="Search"/>
</table>
Run Code Online (Sandbox Code Playgroud)
我尝试使用面板,但"'Panel1'的DefaultButton必须是IButtonControl类型的控件的ID".
有任何想法吗?
我有一个非常简单的例子,按预期工作:https: //jsfiddle.net/x1suxu9h/
var Hello = React.createClass({
getInitialState: function() {
return { msg: '' }
},
onSubmit: function(e) {
e.preventDefault();
this.setState({ msg: 'submitted' })
},
render: function() {
return (
<form onSubmit={this.onSubmit}>
<input type="text" />
<div>{this.state.msg}</div>
</form>
)
}
});
Run Code Online (Sandbox Code Playgroud)
但是,当添加另一个表单字段时,按下回车键时不再触发onSubmit:https://jsfiddle.net/nyvt6506/
var Hello = React.createClass({
getInitialState: function() {
return { msg: '' }
},
onSubmit: function(e) {
e.preventDefault();
this.setState({ msg: 'submitted' })
},
render: function() {
return (
<form onSubmit={this.onSubmit}>
<input type="text" />
<input type="text" …Run Code Online (Sandbox Code Playgroud) 我对此感到愚蠢但是当您按Enter键时提交表单不是正常的Web浏览器行为吗?这可能有什么问题?我已经检查过,通过js禁用测试,它不是任何javascript干扰.它在IE中工作.我宁愿让提交按钮成为一个<button>而不是一个<input>,但我认为输入将有更好的工作机会.
<form role="search" method="get" class="search-form form-inline" action="http://local.sos/">
<div class="input-group">
<span class="input-group-btn">
<button class="btn" disabled=""><i class="icon-search"></i></button>
</span>
<input type="search" value="" name="s" class="search-field form-control" placeholder="Search">
<span class="input-group-btn">
<input type="submit" class="search-submit btn"><i class="icon-arrowright"></i> </input>
</span>
</div>
</form>
Run Code Online (Sandbox Code Playgroud) html ×6
forms ×3
javascript ×3
css ×2
.net ×1
asp.net ×1
asp.net-mvc ×1
border ×1
button ×1
dhtml ×1
file-upload ×1
jquery ×1
reactjs ×1