可以用button代替input type=”submit”吗?
展开全部
在一个表单里,如果有一个以上submit类型的<button标签存在,在表单被提交时,不管你点击哪个<button,所有<button的值都会被post/get。<button的缺省type属性被设置为button,但是在A级别浏览器下,应该设置为submit才对如果你用javascript去访问<button的value属性,IE却返回了<button的innerHTML属性,很让人恼火。 (可以使用getAttributeNode方法来避免.)
PLAIN TEXTCODE:<form<button type=submitvalue=1 text 1</button
<button type=submitvalue=2 text 2</button</form在IE下,上面两个button的数据都会被提交。并且ie会提交这两个button的innerText而不是value。而其它浏览器仅仅提交你点击的那个button。留言:button的值是写在节点之间的,实事上是innerHtml的值~这点上讲比input更灵活一点:例如,你可以设置一个value为TEST
不过个人认为没有必要用button代替input吧
在只有一个button时,或者不放在form里的时候还是可以用的咯
to vsky:
在firefox下,情况有所不同,表单提交的是button的value属性而不是innerHTML
加个onclick=”return false”就不会提交了…
要不你全用type=”button” ,提交的加一个onclick=”this.form.submit()”
这样的话,还是直接用input来得简单,不容易出现意料之外的行为
我认为 Button 并不是用来代替 input 的.
Button 是为了响应用户交互行为的.不是为了直接通过 Button 的 name 和值 来向 server 提交数据的.
虽然 button 可以提交 name:value. 但我认为提交数据应该用 input
也就是说应该这样用 Button提示信息提交
也就是说 button 里应该永远看不到 name 属性.
关键是合理使用button标签。html被屏蔽是wordpress的默认行为,不过有部分标签是被保留的,比如b,strong,ul,li之类的。
问题一:一段表单代码:
<form action=msrCheckPlanAction id=editFormId method=post
<td class=labelStyle
<button onclick=doAction('save'); id=toPlanDetail按钮提交</button</td</formjs函数:function doAction(act){
if(act=='return'){
location.href='msrCheckPlanAction.action';
}else if(act=='save'){
$(#editFormId).attr('action','msrCheckPlanAction!save.action');
$('#editFormId').submit();}}问题来了,如果点击按钮提交的话,后台action中会有两次请求,也就是会执行两次表单的提交
弄了半天,感觉是button按钮提交的时候表单提交了一次,而它自己也执行了一次。
可以这样改:
PLAIN TEXTCODE:<form<button type=submitvalue=1 text 1</button
<button type=submitvalue=2 text 2</button</form在IE下,上面两个button的数据都会被提交。并且ie会提交这两个button的innerText而不是value。而其它浏览器仅仅提交你点击的那个button。留言:button的值是写在节点之间的,实事上是innerHtml的值~这点上讲比input更灵活一点:例如,你可以设置一个value为TEST
不过个人认为没有必要用button代替input吧
在只有一个button时,或者不放在form里的时候还是可以用的咯
to vsky:
在firefox下,情况有所不同,表单提交的是button的value属性而不是innerHTML
加个onclick=”return false”就不会提交了…
要不你全用type=”button” ,提交的加一个onclick=”this.form.submit()”
这样的话,还是直接用input来得简单,不容易出现意料之外的行为
我认为 Button 并不是用来代替 input 的.
Button 是为了响应用户交互行为的.不是为了直接通过 Button 的 name 和值 来向 server 提交数据的.
虽然 button 可以提交 name:value. 但我认为提交数据应该用 input
也就是说应该这样用 Button提示信息提交
也就是说 button 里应该永远看不到 name 属性.
关键是合理使用button标签。html被屏蔽是wordpress的默认行为,不过有部分标签是被保留的,比如b,strong,ul,li之类的。
问题一:一段表单代码:
<form action=msrCheckPlanAction id=editFormId method=post
<td class=labelStyle
<button onclick=doAction('save'); id=toPlanDetail按钮提交</button</td</formjs函数:function doAction(act){
if(act=='return'){
location.href='msrCheckPlanAction.action';
}else if(act=='save'){
$(#editFormId).attr('action','msrCheckPlanAction!save.action');
$('#editFormId').submit();}}问题来了,如果点击按钮提交的话,后台action中会有两次请求,也就是会执行两次表单的提交
弄了半天,感觉是button按钮提交的时候表单提交了一次,而它自己也执行了一次。
可以这样改:
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询