2011-12-12 20 views
5

Tôi đã cập nhật câu hỏi vì nó có thể do các dạng trọng lực đang dừng một chức năng đơn giản khi hoạt động. Lý do tôi nói điều này là bởi vì tôi đã thử rất nhiều tùy chọn (được liệt kê dưới đây) để kích hoạt một hàm jQuery, và không ai trong số họ làm việc khi họ cần.Trình kích hoạt jquery khi nút đầu vào 'Gravity Forms' được bấm

Tôi có một chức năng đơn giản dưới đây mà 100% hoạt động ...

var $contactButton = $(".contact-slide a"), 
    $contactSlide = $("#horizon-slide"); 

function() { 
    $contactSlide.stop().css("top","0"); 
}; 

đơn giản như nó được, nhưng tôi đang cố gắng để kích hoạt này khi nút gửi của tôi được nhấp từ một lực hấp dẫn từ.


Đây là mức độ nghiêm trọng wordpress tạo đánh dấu đầu vào ...

<input type="submit" id="gform_submit_button_1" class="button gform_button" value="Send" tabindex="7"></input> 


Đây là tất cả các kịch bản dưới đây mà tôi đã cố gắng, nhưng không ai trong số họ chạy chức năng ...

Script Một

$("input#gform_submit_button_1").on('click', function() { 
    $contactSlide.stop().css("top","0"); 
}); 

Script Hai

$("input#gform_submit_button_1").click(function() { 
    $contactSlide.stop().css("top","0"); 
}); 

Script Ba

$("input#gform_submit_button_1").focus(function() { 
    $contactSlide.stop().css("top","0"); 
}); 

Script Bốn

$("form#gform_1").submit(function(event) { 
$contactSlide.stop().css("top","0"); 
}); 


Tôi cũng đã cố gắng ...

return false; 

return true; 

trên tất cả các kịch bản trên, nhưng không ai trong số họ trả lại chức năng. Nếu tôi thiết lập các kịch bản để trả về false thì biểu mẫu không gửi, nhưng nếu tôi thiết lập để trả về true, thì đệ trình biểu mẫu nhưng hàm không chạy.


Tại sao điều này xảy ra, tôi nghĩ đây sẽ là nội dung cơ bản?

Cảm ơn bạn đã được trợ giúp.

+0

'trả về true;' thay vì 'false' – asawyer

+1

Hàm nhấp chuột của bạn trả về' false'. Điều này ngăn cản việc gửi biểu mẫu. –

+0

Đã thử điều này và biểu mẫu gửi ngay bây giờ nhưng không chạy hàm – Joshc

Trả lời

0
$contactInput.focus(function() { 
    $contactSlide.stop().css("top","0"); 
    $('body,html').animate({ 
     scrollTop: 0 
    }, 0); 
    return true; 
}); 

Hãy thử :)

+0

Nó không chạy hàm, hmmm lạ. Tôi đã kiểm tra tất cả các mã của tôi nhưng kịch bản chạy tốt, nhưng tôi nghĩ rằng một cái gì đó để làm với ether varible không làm việc, nhưng nó nên chắc chắn, hoặc bởi vì tôi đang sử dụng các hình thức trọng lực, có thể thats can thiệp. Bạn có biết cách tôi có thể làm điều đó bằng cách thêm một onclick vào đầu vào? Cảm ơn – Joshc

+0

Tôi đã thử nó với biến số và vẫn không chạy chức năng. – Joshc

0

Bạn có thể kiểm soát nó từ hình thức nộp nếu bạn có một hình thức ..

<script type="text/javascript" src="js/jquery1.6.1.js"></script> 
<script type="text/javascript"> 
$(document).ready(function() { 
    $("#forma").submit(function(event) { 
     //do what ever you need to here 
     return false; 
    }); 
}); 
</script> 
<form name="1stform" method="post" action="/"> 
    <input type="text" name="misc" id="misc" /> 
    <input type="submit" name="submit" id="submit" value="submit 1st form"/> 
</form> 
+0

Xin chào Cảm ơn bạn đã trả lời, tôi đã thử phương pháp của bạn nhưng không chạy tập lệnh. Tôi đã thử cả hai trở lại sai và đúng sự thật. Trả về false dừng biểu mẫu gửi đi, nhưng trả về true sẽ chạy những gì bên trong hàm – Joshc

+0

Có lỗi trong mã, nó phải là

6

Bạn đang cố gắng để có một cái gì đó chạy khi nộp mẫu? Nếu bạn đang sử dụng phương thức gửi AJAX của biểu mẫu, bạn có thể sử dụng sự kiện gform_confirmation_loaded để chạy một số JavaScript sau khi biểu mẫu được gửi.

$(document).on('gform_confirmation_loaded', function(e, form_id){ 
    if(form_id == 2) { 
     $contactSlide.stop().css("top","0"); 
    } 
}); 

Nó sẽ chạy trên mọi biểu mẫu gửi để xác định biểu mẫu, kiểm tra thông số form_id được chuyển đến trình xử lý sự kiện.

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