2011-12-12 111 views
5

我已經更新了這個問題,因爲它可能是因爲重力形式阻止了一個簡單的函數工作。我之所以這麼說,是因爲我嘗試了很多選項(下面列出)來觸發一個jQuery函數,而且他們都不應該在他們應該做的時候工作。點擊'Gravity Forms'輸入按鈕時觸發jquery

我有一個簡單的函數,低於100%的作品...

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

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

簡單,因爲它得到的,但我想,當我的提交按鈕會從從重力點擊來觸發此。


這是WordPress的重力形成輸入標記......

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


這些都是低於所有的腳本我試過,但沒有一個運行函數...

腳本一個

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

腳本兩個

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

腳本三

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

腳本四

​​


我也試過......

return false; 

return true; 
在上述所有腳本

,但他們沒有返回的功能。如果我將腳本設置爲返回false,則表單不會提交,但如果我設置爲返回true,則表單提交但該函數不會運行。


爲什麼會發生這種情況,我認爲這將是基本的東西?

感謝您的任何幫助。

+0

'return true;'instead of'false' – asawyer

+1

您的點擊函數返回'false'。這可以防止表單提交。 –

+0

試過這個,表單現在提交但是不運行函數 – Joshc

回答

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

試試看吧:)

+0

它不運行函數,嗯很奇怪。我已經三重檢查了我的所有代碼,但腳本運行良好,但我認爲它與以太網變量無法正常工作有關,但它肯定應該,或者因爲我使用重力形式,也許這會干擾。你知道我可以通過在輸入上添加onclick來實現嗎?謝謝 – Joshc

+0

我已經試過它與變量,仍然沒有運行的功能。 – Joshc

0

您可以從形式控制它,如果你有一個表單提交..

<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

嗨安德斯謝謝你的回答,我試過你的方法,但不運行腳本。我嘗試都返回false和true。返回false會阻止表單提交,但返回true會在函數內部運行whats – Joshc

+0

代碼中有錯誤,它應該是

6

你想擁有的東西在表單提交運行?如果您使用表單的AJAX提交方法,則可以使用gform_confirmation_loaded事件在提交表單後運行一些JavaScript。

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

它會在每個表單提交運行,從而以指定形式,測試傳遞給事件處理函數的參數form_id。