2011-09-07 36 views
20

Xin chào, tôi đang cố gắng nhận thẻ "a" làm nút gửi. Tôi tìm thấy mã ở đâu đó trên web. Nhưng nó không hoạt động.một thẻ làm nút gửi?

<a href="#" onclick="this.form.submit()">Submit</a> 

Có mã nào để đạt được nhu cầu của tôi không?

Trả lời

23

Cung cấp form một id và sau đó:

document.getElementById("yourFormId").submit();

Thực hành tốt nhất có lẽ sẽ là để cung cấp cho liên kết của bạn một id quá, và thoát khỏi các xử lý sự kiện:

document.getElementById("yourLinkId").onclick = function() { 
    document.getElementById("yourFormId").submit(); 
} 
+0

Cảm ơn james Tôi đã nhận nó – theepan

+0

@James Allardice Điều này có thể được thực hiện trong Jquery? – Joshua

1

Hãy thử một cái gì đó như dưới đây

<a href="#" onclick="this.forms['formName'].submit()">Submit</a> 
22

Hãy thử mã này:

<form id="myform"> 
    <!-- form elements --> 
    <a href="#" onclick="document.getElementById('myform').submit()">Submit</a> 
</form> 

Nhưng người dùng với người khuyết tật JavaScript sẽ không thể gửi biểu mẫu, vì vậy bạn có thể thêm đoạn mã sau:

<noscript> 
    <input type="submit" value="Submit form!" /> 
</noscript> 
+0

Xin chào, đó là ý tưởng hay, tôi không nghĩ về điều đó. – theepan

8

Giả dạng là phụ huynh trực tiếp bạn có thể làm:

<a href='#' onclick='this.parentNode.submit(); return false;'>submit</a> 

Nếu không, bạn có thể truy cập thông qua thuộc tính tên biểu mẫu như sau:

<a href='#' onclick='document.forms["myform"].submit(); return false;'>submit</a> 

Xem cả hai ví dụ ở đây: http://jsfiddle.net/WEZDC/1/

+0

Cảm ơn bạn Amosrivera! – theepan

+0

không có prob, vui vì tôi đã giúp;) – amosrivera

+0

khá thú vị và 'this.parentNode.parentNode' ... cũng OK – Sinux

-2

theo ý kiến ​​của tôi là cách dễ nhất sẽ là somthing như thế này:

<?php> 
echo '<a href="link.php?submit='.$value.'">Submit</a>'; 
</?> 

trong "link.php" bạn có thể yêu cầu giá trị như thế này:

$_REQUEST['submit'] 
+0

Điều gì sẽ xảy ra nếu hành động biểu mẫu không được NHẬN? – LEQADA

Các vấn đề liên quan