2013-02-24 110 views
1

我有一個AJAX腳本處理頁面上的多種表單之一。由於每個頁面上都有一些由PHP循環生成的表單,因此各個輸入字段的ID使用變量添加到它們的序列號中。使用變量$表格如何使用jQuery將值傳遞給具有順序ID的輸入字段?

每個表單都有兩個提交按鈕,一個不同的值,這是我想通過作爲變量,使用隱藏的輸入字段,要在處理表單觸發不同的動作,即

<input type='hidden' id='button$form' value='' /> 
<button type='submit' class='submit_s' value='view' style='margin-right:20px' onclick='return setHiddenButtonValue(this.value);'>View</button> 
<button type='submit' class='submit_s' value='email' style='margin-right:20px' onclick='return setHiddenButtonValue(this.value);'>Email</button> 

從形式的數據是使用AJAX腳本處理在形式:

var form_data = { 
      name: $jform.find("[id^=name]").val(), 
      date: $jform.find("[id^=date_hidden]").val(), 
      time: $jform.find("[id^=time]").val(), 
} 

所以我可以添加對輸入到該隱藏式按鍵的條目,即:

button: $jform.find("[id^=button]").val(), 

然後以這樣的方式使用它:

if (form_data.button == 'email') { 
     $jform.fadeOut(800); 
    } 

我可以不知道如何做的是如何將該變量傳遞給隱藏的按鈕輸入。正如你可以看到我已經添加了一個onclick事件到每一個提交按鈕,然後我希望,添加以下到我的jQuery將工作:

function setHiddenButtonValue(buttonValue) 
{ 
    $j("[id^=button]").value = buttonValue; 
    return true; 
} 

但它不工作。有人能讓我挺身而出嗎?

+0

嗯,你爲什麼不使用'.val()',就像'form_data.button.val(buttonValue )'或'$ j(「[id^= button]」).val(buttonValue);'? – Alexander 2013-02-24 18:54:10

+0

@Alexander我不確定你在暗示我包括這個。你能澄清嗎? – Nick 2013-02-24 20:56:19

回答

0

我不確定您是否可以修改所有瀏覽器中的隱藏輸入。另外,恐怕在jquery中沒有.value()方法:)所以只需使用$j("[id^=button]").val(buttonValue);.attr('value', buttonValue);

+0

謝謝。我已經嘗試了兩個版本,並沒有設置按鈕值。當我手動添加它會傳遞給我的腳本確定。我使用的是Safari,所以它可能與瀏覽器有關。根據點擊「視圖」還是「電子郵件」按鈕,是否有其他方法傳遞不同的值?這就是我想要做的。 – Nick 2013-02-25 11:23:08

+0

我想我通過取消隱藏的輸入,將類'email'和'view'添加到相應的提交按鈕,然後在提交點擊函數中添加一個檢查以查看類'email'或'view'存在,即'if($ jthis.hasClass('email'))'。從這裏我可以設置一個變量並將其傳遞給form_data – Nick 2013-02-25 12:22:08

相關問題