2013-04-10 135 views
0

我有一個窗體中有兩個不同的字段集合,一個是帳單地址,另一個是發貨地址。更改表單提交值?

我已經寫了一些jQuery,以便您可以隱藏運輸表單,並用結算表單中的詳細信息(如果您運送到同一地址)填寫它。

這是我的jQuery:

$('#reveal-shipping').click(function(){ 
    if($('.wpsc_checkout_table.table-2').css('display') == 'none'){ 

     $('.wpsc_checkout_table.table-2').slideToggle(); 
     $('.wpsc_checkout_table.table-2').find('input, select, textarea').val(''); 
     document.getElementById('reveal-shipping').innerHTML = 'Ship to my billing address ←'; 

    } else { 

     //fields is an array containing an array of two selector strings, one for the billing form and one for the shipping. 
     for (i=0; i < fields.length; i++){ 
      thisval = $(fields[i][0]).val(); 
      $(fields[i][1]).val(thisval); 
     } 
     $('.wpsc_checkout_table.table-2').slideToggle(); 
     document.getElementById('reveal-shipping').innerHTML = 'Ship to a different address &rarr;'; 

    } 
}); 

我想知道如果我能爲循環運行,這是與價值觀,的onClick提交按鈕,或者隱藏的輸入元素填充部分這些值本來就已經提交了。

如果不是的話,什麼時候該運行這個確保值正確提交的好時機?也許onunfocus? (請告訴我,這實際名稱)提前

+0

上的變化或對賬單輸入KEYUP更新相應的航運輸入 - >無環 – mikakun 2013-04-10 14:01:43

+0

@mikakun聽起來像是一個好主意,但我仍然會使用循環以及當我透露航運我清除他們,如果他們被編輯,然後隱藏和結算不再編輯它將是不準確的 – Bill 2013-04-10 14:08:18

回答

1

感謝您將能夠做到這一點的onClick事件提交按鈕,或者你可以註冊表單上的submit事件。您的活動在提交的其他部分發生之前運行。這就是爲什麼您可以調用窗體上的驗證方法並通過返回值false中斷提交。

的「onunfocus」事件中,你所想的是blur

+0

謝謝。你能給我一個非常基本的例子嗎?我不明白關於通過返回false來中斷提交的問題嗎?再次感謝。 – Bill 2013-04-10 14:18:59

+0

假設您沒有填寫這些值,而是希望確保運輸地址輸入已填寫完畢,您可以使用onClick函數檢查字段是否爲空。如果你找到一個,那麼如果你返回false,它將不會繼續提交表單或完成點擊事件。 – Schleis 2013-04-10 14:22:31

+0

太好了,謝謝:) – Bill 2013-04-10 14:23:56