js动态设置form中action的值

js动态改变form的action的值,即动态改变提交位置
form表单

<form action="${path }/schemeChild/save" method="post" id="child_form">
            <table style="width:100%;border:0;cellspacing:0;cellpadding:0;" class="vtb">
              <tr>
                <td width="15%" class="dright">名称:&nbsp;</td>
                <td class="dleft"><input type="text" name="name" maxlength="25" class="form-control" style="width:70%"/></td>
                <td width="15%" class="dright">编码:&nbsp;</td>
                <td class="dleft"><input type="text" name="code" maxlength="25" class="form-control" style="width:70%"/></td>
              </tr>
              <tr>
                <td colspan="4" align="center">
                  <a href="javascript:void(0);" class="btn btn-default" onclick="javascript:panel_close();">返回</a> 
                  <a href="javascript:void(0);" class="btn btn-success" onclick="javascript:childSubmit(0);">新增保存</a>
                  <a href="javascript:void(0);" class="btn btn-success" onclick="javascript:childSubmit(1);">修改保存</a>
                </td>
              </tr>
            </table>
          </form>`

js动态设置action的值

<script type="text/javascript">
    childSubmit(flag){
       if(flag == 1){//判断是新增保存还是修改保存
          $('#child_form').action = path + "/schemeChild/update";
       }
    $('#child_form').submit();
    }
</script>
### 动态设置 HTML 表单的 `action` 属性 可以通过 JavaScript 来动态修改 HTML 表单的 `action` 属性。以下是几种常见的实现方式: #### 使用原生 JavaScript 设置 `action` 可以利用 DOM 方法来访问并更改表单的 `action` 属性。例如,通过 `getElementById` 获取表单对象,并直接设置其 `action` 属性。 ```javascript function setActionUsingElement() { document.getElementById('myform').action = 'new_url'; } ``` 此方法简单直观,适用于大多数场景[^1]。 另一种方式是通过 `attributes` 对象操作属性: ```javascript function setActionUsingAttributes() { document.getElementById('myform').attributes['action'].value = 'new_url'; } ``` 这种方式同样有效,但在某些浏览器中可能表现略有差异[^3]。 #### 使用 jQuery 修改 `action` 属性 如果项目中已经引入了 jQuery 库,则可以更简洁地完成相同功能。通过 `.attr()` 方法可以直接更新指定元素的属性。 ```javascript function setActionWithJQuery() { $('form').attr('action', 'new_url'); } ``` 这种方法不仅语法更加紧凑,而且兼容性较好,在处理复杂页面结构时尤为有用[^2]。 对于需要根据不同条件改变提交地址的情况,也可以编写逻辑判断语句嵌入到上述函数内部执行相应动作后再调用 submit 进行数据发送[^4]。 #### 后端语言配合前端调整 Action 地址 虽然主要讨论的是客户端技术方案,但实际上有时也会结合服务器端渲染预先定义好部分路径参数再传递给视图层供最终组装完整的 URL 链接使用。比如 PHP 中可能会这样写: ```php <?php $path="/your/dynamic/path"; ?> <form id="dynamicForm" action="<?php echo htmlspecialchars($path); ?>" method="post"> </form> <script type="text/javascript"> var path='<?php echo json_encode($path); ?>'; function changePath(){ document.getElementById('dynamicForm').action=path+'/update'; } </script> ``` 这里展示了如何从服务端传入变量至模板文件里被 JS 脚本读取从而灵活控制实际请求目标位置的例子。 ### 注意事项 无论采用哪种手段,请务必注意转义特殊字符防止 XSS 攻击等问题发生;另外还要考虑跨域限制等因素影响正常流程运作情况下的应对策略设计。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值