2012-06-10 26 views
2

我正在做基於JQM和http://dl.dropbox.com/u/49735179/dialog-data-transfer.html的移動網站。jquery部分之間的移動數據轉移

如果從部分「dialogPage」上的搜索結果中的一個點擊提交按鈕,0​​它應該顯示在zip1,zip2,addr表單的「mainPage」部分。

但zip_code1,zip_code2,addr 的表單值沒有傳送到section「mainPage」。

這個腳本有什麼問題?

這是完整的腳本+ html。

<!DOCTYPE html> 
<html> 
<head> 
<title>Test Dialog</title> 
<meta charset="utf-8" /> 
<meta name="viewport" content="height=device-height,width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no" /> 
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.css" /> 
<script src="http://code.jquery.com/jquery-1.6.4.min.js"></script> 
<script src="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.js"></script> 
</head> 

<body> 

<script> 

$(document).ready(function() { 
$('form').submit(function(){ 
var inputVal1 = $('input[name=zip_code1]').val(); 
var inputVal2 = $('input[name=zip_code1]').val(); 
var inputVal3 = $('input[name=addr]').val(); 
$("#mainPage").data("inputVal1", inputVal1); 
$("#mainPage").data("inputVal2", inputVal2); 
$("#mainPage").data("inputVal3", inputVal3); 

}) 
}); 
$('#mainPage').live('pageshow', function(){ 
var inputVal1 = $(this).data('inputVal1') ? $(this).data('inputVal1') : "<? $defaultValue1 ?>"; 
var inputVal2 = $(this).data('inputVal2') ? $(this).data('inputVal2') : "<? $defaultValue2 ?>"; 
var inputVal3 = $(this).data('inputVal3') ? $(this).data('inputVal3') : "<? $defaultValue3 ?>"; 

$('div input[name=zip1]').val(inputVal1); 
$('div input[name=zip2]').val(inputVal2); 
$('div input[name=addr]').val(inputVal3); 
}); 

</script> 




<section id="mainPage" data-role="page"> 
<header data-role="header"><h1>Header</h1></header> 
<div data-role="content"> 
<div> 
<input type="text" name="zip1" value="">-<input type="text" name="zip2" value=""> 
<input type="text" name="addr" value=""> 
</div> 

<a href="#dialogPage" data-role="button" data-transition="pop">Open Dialog</a> 
</div> 
<footer data-role="footer"><h1>Footer</h1></footer> 
    </section> 

    <!-- ## DIALOGS ## --> 
    <section id="dialogPage" data-role="dialog" data-theme="d"> 
<header data-role="header"><h1>Header</h1></header> 
<div data-role="content"> 
<h3>Input Dialog</h3> 

<INPUT type="text" autocomplete="off" value="" id="k"><input type="submit" value="search" onClick="kin()" data-role="button">   
<DIV id="serverMsg"></DIV>  

      <form> 
      <input type=hidden name=zip_code1 value='code1'> 
      <input type=hidden name=zip_code2 value='code2'> 
      <input type=hidden name=addr value='address1'> 
      <table><tr> 
      <td width=50>code1 - code2</td> 
      <td>address1</td> 
      </tr></table> 
      <input type="submit" value='address1' /> 
      </form> 

      <form> 
      <input type=hidden name=zip_code1 value='code4'> 
      <input type=hidden name=zip_code2 value='code5'> 
      <input type=hidden name=addr value='address2'> 
      <table><tr> 
      <td width=50>code4 - code5</td> 
      <td>address2</td> 
      </tr></table> 
      <input type="submit" value='address2' /> 
      </form> 

      <form> 
      <input type=hidden name=zip_code1 value='code6'> 
      <input type=hidden name=zip_code2 value='code7'> 
      <input type=hidden name=addr value='address2'> 
      <table><tr> 
      <td width=50>code6 - code7</td> 
      <td>address3</td> 
      </tr></table> 
      <input type="submit" value='address3' /> 
      </form>    

    </div> 

</div> 
<footer data-role="footer"></footer> 
    </section> 

    </body> 
    </html> 

回答

1

使用attr方法,data()方法不創建data屬性;

$(document).ready(function() { 
$('form').submit(function(){ 
var inputVal1 = $('input[name=zip_code1]').val(); 
var inputVal2 = $('input[name=zip_code1]').val(); 
var inputVal3 = $('input[name=addr]').val(); 
$("#mainPage").attr("data-inputVal1", inputVal1); 
$("#mainPage").attr("data-inputVal2", inputVal2); 
$("#mainPage").attr("data-inputVal3", inputVal3); 
... 
+0

謝謝。我更改爲 $(「#mainPage」)。attr(「data-inputVal1」,inputVal1); $(「#mainPage」)。attr(「data-inputVal2」,inputVal2); $(「#mainPage」)。attr(「data-inputVal3」,inputVal3); 但我仍然沒有從section「dialogPage」返回valuse。 我認爲在「dialogPage」上有一些問題。 –

+0

@undefined,我可以請求看看http://stackoverflow.com/questions/10969074/how-to-have-such-a-background-flash-animation-on-mousehover-using-jquery?關於另一個話題的jQuery問題。我不知道這樣的評論在SE中是否允許? –

+0

@paulycho歡迎你,你有一個頁面上的3個表單元素,嘗試一種形式。 – undefined