同一表单,不同按钮上的不同action,input的formaction属性
发布于 作者:苏南大叔 来源:程序如此灵动~

本文说的还是html5
里面的input
,特指能提供表单提交功能的<input type='submit'>
或者<input type='image'>
。因为form
表单的action
属性,可以移动到表单提交按钮上,变成formaction
属性。

苏南大叔的“程序如此灵动”博客,记录苏南大叔的代码编程经验总结。本文测试环境:chrome@131.0.6778.205
。本来一个表单就只有一个action
,现在变成了一个提交按钮就可以有一个action
。同一个表单,就可以合情合理拥有多个action
了。然而,这么定义有啥现实意义么?
原始html例子
input
的formaction
,就是form
的action
,两者可以通用替换。下面是个最简单的代码例子。
不但有formactioin
,还可以定制formenctype
、formmethod
、formtarget
等可以定制。这里,苏南大叔觉得这样设置的话,很适合测试。写很多个不同的参数,不同的按钮提交不同的服务器端接口。

React演绎例子
在前文的React19
新特性的钩子useActionState()
的官方例子中。被React
演绎过的formAction
属性,出现在了表单内的button
属性上。参考文章:
在React
里面,action
从一个普通的服务器端地址,变成了一个可执行的function
。
onsubmit 阻止表单
无论是普通的html
里面的form
,还是react
里面的表单。其onSubmit()
都是优先于action
的。
所以,在onSubmi()
里面,可以阻止默认的action
行为。
普通的html
里面:
React
演绎的版本:
相关文章


