Javascript 使用JQuery更改表单操作
我需要每次点击按钮,表单动作会正确更改 但是,如果我单击其他按钮,它会累积表单动作,例如Javascript 使用JQuery更改表单操作,javascript,jquery,html,Javascript,Jquery,Html,我需要每次点击按钮,表单动作会正确更改 但是,如果我单击其他按钮,它会累积表单动作,例如 <form action="http://localhost:8000/3/approved/4/approved" method="POST" id="form-request"> <button type="button" class="clr-empty" data-id="3">Prestar ambiente</button> <button ty
<form action="http://localhost:8000/3/approved/4/approved" method="POST" id="form-request">
<button type="button" class="clr-empty" data-id="3">Prestar ambiente</button>
<button type="button" class="clr-empty" data-id="4">Prestar ambiente</button>
<button type="button" class="clr-empty" data-id="5">Prestar ambiente</button>
你要求累积,所以它会累积。如果您确定第一部分,可以如下硬编码:
$('.big-content').on('click', '.clr-empty', function (e) {
e.preventDefault();
$form = $('#form-request');
$fid = $(this).attr('data-id');
// This set form action
$('#form-request').attr('action', "http://localhost:8000/" + $fid + '/approved');
$('#confirm').modal({
backdrop: 'static',
keyboard: false
})
.on('click', '#asd', function() {
$form.submit();
});
});
如果希望URL是动态的,可以使用:
$('.big-content').on('click', '.clr-empty', function (e) {
e.preventDefault();
$form = $('#form-request');
$fid = $(this).attr('data-id');
// Construct the URL dynamically.
var url = window.location.href.split("/");
url = url[0] + "//" + url[2] + "/";
// This set form action
$('#form-request').attr('action', url + $fid + '/approved');
$('#confirm').modal({
backdrop: 'static',
keyboard: false
})
.on('click', '#asd', function() {
$form.submit();
});
});
以上两种方法仅适用于URL与提供页面的域相同的情况。如果没有,您可以从表单的操作
构造URL
$('.big-content').on('click', '.clr-empty', function (e) {
e.preventDefault();
$form = $('#form-request');
$fid = $(this).attr('data-id');
// Construct the URL dynamically.
var url = $form.attr("action").split("/");
url = url[0] + "//" + url[2] + "/";
// This set form action
$('#form-request').attr('action', url + $fid + '/approved');
$('#confirm').modal({
backdrop: 'static',
keyboard: false
})
.on('click', '#asd', function() {
$form.submit();
});
});
另外,刚刚注意到您不需要再次选择表单。因此,您的最终代码将是:
$('.big-content').on('click', '.clr-empty', function (e) {
e.preventDefault();
$form = $('#form-request');
$fid = $(this).attr('data-id');
// Construct the URL dynamically.
var url = $form.attr("action").split("/");
url = url[0] + "//" + url[2] + "/";
// This set form action
$form.attr('action', url + $fid + '/approved');
$('#confirm').modal({
backdrop: 'static',
keyboard: false
})
.on('click', '#asd', function() {
$form.submit();
});
});
$('.big-content').on('click', '.clr-empty', function (e) {
e.preventDefault();
$form = $('#form-request');
$fid = $(this).attr('data-id');
// Construct the URL dynamically.
var url = $form.attr("action").split("/");
url = url[0] + "//" + url[2] + "/";
// This set form action
$('#form-request').attr('action', url + $fid + '/approved');
$('#confirm').modal({
backdrop: 'static',
keyboard: false
})
.on('click', '#asd', function() {
$form.submit();
});
});
$('.big-content').on('click', '.clr-empty', function (e) {
e.preventDefault();
$form = $('#form-request');
$fid = $(this).attr('data-id');
// Construct the URL dynamically.
var url = $form.attr("action").split("/");
url = url[0] + "//" + url[2] + "/";
// This set form action
$form.attr('action', url + $fid + '/approved');
$('#confirm').modal({
backdrop: 'static',
keyboard: false
})
.on('click', '#asd', function() {
$form.submit();
});
});