2012-09-11 22 views
0

我試圖提交一種形式,是一種很長,並通過幾個「頁面」分發和「提交」按鈕不發送表單。在jQuery的手機上的幾個頁面上的一種形式

<div data-role="page"> 
    <form action="save_data.php"> 
    <input type="text"> 
    <a href="#two">next</a> 
</div> 
<div data-role="page" id="#two"> 
    <input type="text">   
    <input type="text"> 
    <a href="#three">next</a> 
</div> 
<div data-role="page" id="#three"> 
    <input type="text">   
    <input type="submit"> 
</div> 

如果我把<form action="save_data.php">在相同的頁面提交發送數據,否則什麼也不會發生。

我只能在同一個「頁面」內發送表單,即使它們實際上都是同一個文件?

感謝

+0

我找到這個答案,但http://stackoverflow.com/questions/8036588/jquery-mobile-multipage-submit從我的頭頂開始,我可以想出其他方法來完成這件事。 – subharb

+0

您正在使用單頁模板還是多頁模板? – Jasper

+0

與上例中相同,在同一個hmtl文件中有多個頁面。 – subharb

回答

2

爲所有,但最後一個表單頁面做這樣的事情:

var $lastPageForm = $('.last-page').find('form'); 
$('.not-last-page').find('form').on('submit', function() { 
    $.each($(this).find('input'), function() { 
     $lastPageForm.append($(this).clone()); 
    }); 
    return false; 
}); 

這將克隆的第一形式各input和那些克隆追加到最後的形式。這樣,來自所有表單的所有輸入都會與最後一頁一起提交。

此代碼需要一個多頁面模板佈局的是這樣的:

<div class="not-last-page" data-role="page"> 
    <form> 
     <input type="text"> 
     <a href="#two">next</a> 
    </form> 
</div> 
<div class="not-last-page" data-role="page" id="two"> 
    <form> 
     <input type="text"> 
     <a href="#three">next</a> 
    </form> 
</div> 
<div class="last-page" data-role="page" id="three"> 
    <form action="save_data.php"> 
     <input type="text"> 
     <input type="submit" /> 
    </form> 
</div> 
+1

這是一個聰明的做法,我如何解決它只是採取所有輸入並通過ajax發送到表單操作指向的頁面。 – subharb

+0

只是好奇,爲什麼不只是添加一個id到最後一個表單,並使用var $ lastPageForm = $('#lastformid')而不是var $ lastPageForm = $('。last-page')。find('form'); –

+0

@RayS。在OP的代碼中,僞頁面已經有了ID,我不想改變它們,但仍想展示我的想法。短版:沒有真正的原因。 – Jasper

相關問題