Jquery 其他表单内容取决于按下的按钮

Jquery 其他表单内容取决于按下的按钮,jquery,forms,Jquery,Forms,是否可以执行类似以下操作: $(".T1C1butn").click(function() { $(this).closest("form").attr("action", "/article/" + $(".T1C1Fetch").innerHTML); }); 但不是根据按下哪个按钮来修改窗体的操作,修改发送的数据,即如果用户按下按钮'Testbtn',则在post请求中提交值为“www.example.com”的,如果他们按下不同的按钮,则url的值不同。

是否可以执行类似以下操作:

$(".T1C1butn").click(function() {
        $(this).closest("form").attr("action", "/article/" + $(".T1C1Fetch").innerHTML);        
});

但不是根据按下哪个按钮来修改窗体的操作,修改发送的数据,即如果用户按下按钮
'Testbtn'
,则在post请求中提交值为“www.example.com”的
,如果他们按下不同的按钮,则url的值不同。

为了根据单击的按钮用特定值填充输入,您将为每个按钮单击绑定一个事件处理程序,并使用jQuery的
.val()
分配输入值

我还建议将填充和提交表单的功能分开,这样用户就可以确保在提交之前填充了正确的值。在下面的示例中,点击按钮Data 1/2/3填充字段,点击按钮Submit提交表单

演示:

HTML:


不清楚你为什么要这么做。也就是说,最简单的方法可能是将值存储在按钮本身的自定义数据属性中,然后单击时,获取存储的值并将其加载到元素中:

$(函数(){
$(“.btn”)。单击(函数(){
//从按钮获取信息
var info=$(this).data('info').split(',');
//将信息设置为输入
$。每个(信息、功能(即){
$('#myForm input').eq(i).val(e);
});
//提交表格
//$(“#myForm”).submit();//已注释掉,因为submit在如此多的代码段中不起作用
});
});




数据1 数据2
数据3
你的意思是,根据按钮的不同,输入元素的url应该改变?我的意思是,如果我使用标准表单,它可以包含3个字段(姓名、DOB、电子邮件),我希望有一些按钮,当你按“按钮无”时,它会提交帖子并发送“John”、“10月8日”等信息email@example.com但如果你按“ButtonTwo”,它会提交帖子并发送“Bob”、“1月1日”test@email.com“等等。
<form action="your url" method="post">
    <button id="T1C1butn1">Data 1</button>
    <button id="T1C1butn2">Data 2</button>
    <button id="T1C1butn3">Data 3</button><br />
    <input id="name" name="name" /><br />
    <input id="dob" name="dob" /><br />
    <input id="email" name="email" /><br />
    <button id="submit">Submit</button>
</form>
$(function () {

    $("#T1C1butn1").click(function (event) {
        event.preventDefault();
        $('#name').val('John');
        $('#dob').val('8 October');
        $('#email').val('john@example.com');
    });

    $("#T1C1butn2").click(function (event) {
        event.preventDefault();
        $('#name').val('Steve');
        $('#dob').val('12 September');
        $('#email').val('steve@example.com');
    });

    $("#T1C1butn3").click(function (event) {
        event.preventDefault();
        $('#name').val('Mike');
        $('#dob').val('1 January');
        $('#email').val('mike@example.com');
    });

});