【问题标题】:How do i change form's action property when button is clicked单击按钮时如何更改表单的操作属性
【发布时间】:2011-04-05 15:44:44
【问题描述】:

我想在单击按钮时更改表单的操作属性

我在一个表单中有两个按钮,当单击每个按钮时,每个按钮都应该将数据发布到自己的 url。

html:

<form method="post">
<input type="button" value="Edit Selected..." />
<input type="button" value="Delete Selected..." />
...
</form>

【问题讨论】:

  • 你最好把这些按钮变成提交,给它们一个名字,然后确定哪个是在服务器上被点击的。
  • 你为什么不使用if/else 来查看接收到的值并根据它进行处理。

标签: jquery html forms action


【解决方案1】:

使用 jQuery

<form method="post" id="form1">
<input type="button"  data-url="action2"  value="Edit Selected..." />
<input type="button" data-url="action1" value="Delete Selected..." />
...
</form>

脚本:-

$(document).ready(function(){

    $('input[type*="button"]').click(function(){
    var url = $(this).attr('data-url');


     $('#form1').attr('action',url);   

    });

});

【讨论】:

  • 我们可以直接引用表单而不像父级或表单一样使用#form1
  • 是的,你可以使用 $('form')
  • 不,它不会....要选择特定的表单,您需要在此处更正选择器,您可以了解选择器 w3.org/TR/CSS2/selector.html 以其他方式使用表单的 id
  • 我们不能直接从里面的按钮抓取表单吗?
  • 修改选择器 $('#form1 input[type*="button"]') 这里是工作演示 jsfiddle.net/HhMbV
【解决方案2】:

天哪,它与原生 javascript 如此相似,以至于我错过了它......

我不确定它的平面 javascript 或 jquery,但我完全按照我的需要得到了以下代码并且工作正常:

        $('#cmdDeleteButton').click(function(){
            this.form.action = "http://newurl.com";
        });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-16
    • 1970-01-01
    • 2012-07-04
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    • 2012-12-11
    • 1970-01-01
    相关资源
    最近更新 更多