JavaScript动态修改表单Action值的两种实现方式

作者:页面旅途

时间:2026-10-30

浏览:165

本文介绍了使用JavaScript动态修改HTML表单Action属性的两种常见方法。第一种方法通过监听下拉框的onchange事件,根据用户选择的搜索类型动态切换表单提交地址;第二种方法利用submit按钮的onSubmit事件,根据单选按钮的选中状态决定表单跳转的具体页面。这两种方式均能有效实现无刷新或按需跳转的表单提交功能。

文章目录

通过控件事件动态设置Action

第一种方法是通过监听表单内控件的事件来动态修改Action。具体实现中,可以获取表单元素的引用,并根据特定条件(如用户选择的选项)直接赋值给form对象的action属性。例如,在代码片段中,定义了一个名为Searchtype1的函数,该函数绑定在Searchtype下拉菜单的onchange事件上。当用户改变下拉菜单的选项时,函数会判断type变量的值:如果type为“news”,则将表单form1的action设置为“../news/index.asp”;如果type为“case”,则设置为“../case/index.asp”。这种方式适用于需要根据用户选择动态确定提交目标页面的场景。


<form id="form1" name="form1" method="post" action="../news/index.asp">
   <table width="100%" height="43" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td height="28"><input name="keyword" type="text" style="width:150px" id="keyword"/></td>
    </tr>
    <tr>
     <td height="28"><select name="Searchtype" style="width:110px" id="Searchtype" onchange="Searchtype1();">
      <option value="news" selected="selected">新闻中心</option>
      <option value="case">工程案例</option>
     </select>
     <input type="submit" name="Submit" value="搜索" /></td>
    </tr>
   </table>
 </form>
 <script language="javascript">
 function Searchtype1(){
 var type=document.getElementById("Searchtype").options[document.getElementById("Searchtype").selectedIndex].value;
 if (type=="news"){document.getElementById("form1").action="../news/index.asp"}
 else if (type=="case"){document.getElementById("form1").action="../case/index.asp"}
 }
 </script>

通过提交事件动态设置Action

第二种方法是通过表单的提交事件(onSubmit)来控制Action。在代码片段中,定义了一个check函数,该函数在表单提交前被调用。函数内部通过判断名为a的单选按钮组中哪个按钮被选中(document.form1.a[0].checked),来决定表单的action属性。如果第一个单选按钮被选中,则将action设置为“1.htm”;否则设置为“2.htm”。最后,在form标签的onSubmit属性中调用check()函数,确保在用户点击提交按钮时执行逻辑判断并动态设置提交地址。这种方法常用于根据用户简单的选项(如单选)来决定跳转页面的情况。


<html>
<head>
<script language="javascript">
function check(){
if(document.form1.a[0].checked==true)
document.form1.action="1.htm"
else
document.form1.action="2.htm"
}
</script>
</head>
<body>
<form name="form1" method="post" action="" onSubmit="check();">
转到页面一<input type="radio" name="a">
转到页面二<input type="radio" name="a">
<input name="" type="submit" value="提交">
</form>
</body>
</html> 

以上介绍了两种利用JavaScript动态修改表单Action属性的方法,分别适用于不同的交互场景。第一种适合基于下拉选择的动态路由,第二种适合基于单选按钮的简单跳转。开发者可根据实际需求选择合适的方式,以实现更灵活的表单提交控制。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章