2010-05-02 17 views

Trả lời

11

Trong nút của bạn, bạn chỉ có thể thiết lập hành động của hình thức, sử dụng nó form property, ví dụ vào nút a:

this.form.action = "fileA.php"; 

Mặt khác:

this.form.action = "fileB.php"; 

Bạn có thể giàn khoan này lên bên ngoài, như thế này:

document.getElementById("buttonA").onclick = function() { 
    document.getElementById("myForm").action = "fileA.php"; 
}; 

Hoặc nếu bạn đang sử dụng thư viện như jQuery:

$(function() { 
    $("#buttonA").click(function() { 
    $(this).closest("form").attr('action', 'fileA.php'); 
    }); 
}); 
+0

+1 Tôi đặc biệt thích việc bạn sử dụng 'closest' trong' jQuery'. –

+0

Tôi có thể kết hợp các phương thức POST và GET không? Ví dụ, tôi muốn chuyển một URL chứa các trường nhưng cũng là các phần tử biểu mẫu theo tên của chúng. – posfan12

+1

@ posfan12 - Bạn chỉ có thể gửi qua một phương pháp tại một thời điểm, mặc dù bạn có thể tuần tự hóa và đăng lên url có thông số. Tôi không theo dõi bạn về lý do tại sao bạn sẽ cần phải có cả hai mặc dù, nó là nhiều dữ liệu cho khách hàng để gửi là tốt và thường không phải là một ý tưởng tuyệt vời. –

2

Rời khỏi lĩnh vực hành động trống:

<form action ="" method="post" name="form1"> 
<input type ="submit" onclick="calA();"/> 
<input type = "submit" onclick="calB"/> 
</form> 

<script> 
function calA() 
{ 
document.form1.action ="a.php"; 
} 
function calB() 
{ 
document.form1.action = "b.php"; 
} 
</script> 
1

Nếu bạn không muốn sử dụng Javascript, nhưng làm sử dụng HTML5, bạn có thể sử dụng thuộc tính formaction:

<!DOCTYPE html> 
<html> 
    <body> 
    <form> 
     <input type="submit" formaction="http://firsttarget.com" value="Submit to first" /> 
     <input type="submit" formaction="http://secondtarget.com" value="Submit to second" /> 
    </form> 
    </body> 
</html> 
Các vấn đề liên quan