2011-05-26 30 views
0

我需要在表單提交之前獲取表單文本字段的值(如果有的話)。目標在頁面上的特定窗體w/jQuery

比方說,我有形式一個和用戶輸入一些值,但隨後點擊頁面上的其他一些鏈接,並打開包含表單的對話框。如果用戶提交表格B,結果將發佈在頁面上並將刷新它,這是我想要的,但它將丟失表格A的字段中的所有值。

我需要的是運行通過遍歷形式A的表單字段中運行時的形式被提交,並從形式一個「非空」領域,在HTML和插件的形式HTML到刷新頁面以及從B發佈的結果。

說的是,我現在需要的是能夠在點擊一個myLink時將值輸入到一個VAR中。

$('#myForm:input').each(function(){ 

    var fieldWithValue = ""; 

    if($(this).val() != "") { 
     $this = $(this); 
     fieldWithValue += $this.parent().html();  
    } 
    $("#vals").html(fieldWithValue); 
}) 


<form id="myForm"> 

    foreach ($arrays as $listValue) { 
     <div> 
      <input type="text" maxlength="100" name="field[]"> 
     </div> 
    } 

    <div id="vals"></div> 

</form> 

<a href="#" id="myLink">link</a> 

我認爲這是可以使用的.html()來完成...

回答

1

你的問題說:「這一切都記錄到一個變量,回來後在頁面上進行刷新後。」從字面上看,這聽起來很奇怪,因爲它不像一個JS變量在刷新頁面後仍然存在,如果你真的在使用整頁刷新。

所以如果這是你真正採取的方法,這可能是你想要開始的地方:http://api.jquery.com/serialize/通常這就是你用來從表單中獲取所有字段的值以發送到服務器(在例如ajax調用)。

所以,你可以做的是:

  • 序列化目標的形式和序列化的字符串保存到一個cookie,與形式的ID命名的cookie值它存儲
  • 在頁面加載,查找與您的Cookie名稱相匹配的元素並填寫cookie值中的值。您可以在服務器上或JavaScript中執行此操作。
0

從你的示例代碼,你會更好使用像serialize()。

在提交當前表單後檢查以下內容,看看它是否是你之後的內容。

$('#myForm').submit(function() { 
    alert($(this).serialize()); 
}); 
+0

我建議更新您的問題以更好地定義您的需求。 – 2011-05-26 23:44:00

相關問題