2015-05-19 17 views
6

làm thế nào để phân biệt giữa javascript kích hoạt trình và tự nhấn hình thức nộp
mẫu mã dưới đâylàm thế nào để phân biệt giữa javascript nộp và tự nhấn nộp

function myfunction() 
{ 
    document.getElementById("id_searchform").submit(); 
    return true; 
} 

dạng:

<div class='row'> 
    <div class='col-md-4'> 
     <div class='clszipcode' ><span>Enter Zipcode</span></div> 
    </div> 
    <div class='col-md-4'> 
     <div class='clstxtzipcode' ><input type="text" name="zip_code" id="txtZipcode"></div> 
    </div> 
    <div class='col-md-4'> 
     <div class='clsbtnzip' ><input type="submit" name="submit" id="btnSearch" value="Search" class="button_example" ></div> 
    </div> 
</div> 
<a href="#" onclick="return myfunction();" >click to submit</a> 
+1

Bạn biết khi nào chức năng của tôi được gọi nó là javascript kích hoạt trình. – Riddler

+0

lấy một đầu vào bị ẩn và cung cấp một giá trị khác với gửi javascript. nghĩa là '' trong javascript set '... submittype.value = 'js'' –

+0

nếu tôi đính kèm một sự kiện onclick vào nó sẽ gọi hàm myfunction() và xác nhận() – srinidhi

Trả lời

1

Hãy để tôi xem Tôi hiểu:

  1. Bạn muốn phát hiện w hether người dùng nhấp vào liên kết để gửi biểu mẫu.
  2. Bạn muốn phát hiện xem người dùng đã nhấp vào nút gửi để gửi biểu mẫu chưa.
  3. Bạn có một chức năng khác được gọi là validate() sẽ sử dụng thông tin này theo một cách nào đó.

Nếu trường hợp này xảy ra, hãy xem xét sử dụng biến để lưu trữ xem liên kết đã được nhấp vào trước khi kích hoạt biểu mẫu để gửi.

  1. Initialize toàn cầu biến wasClicked-false
  2. Khi liên kết được nhấp thiết wasClicked để true
  3. hình thức kích hoạt trình sau wasClicked được thiết lập.
  4. Run validate() khi mẫu được gửi
  5. Kiểm tra if(wasClicked){...} trong validate()

Đây là một Working Example

+0

Và bằng cách này, khi JS không được kích hoạt trong trình duyệt, sự kiện onsubmit sẽ không kích hoạt. Sau đó, biểu mẫu không bị ô nhiễm với đầu vào bị ẩn cho trường hợp này. – EtienneWan