2011-12-14 64 views
2

那麼, 我有一個提交按鈕的頁面。當點擊提交按鈕時,頁面被轉移到下一頁(即servlet頁面)。但我希望表單頁面的內容(即所有的屬性和值)應該被轉移到servlet頁面而不是整個頁面(即它應該在點擊提交按鈕後在表單頁面上)。 這是移動使用jQuery Mobile框架提交不應轉移到下一頁

我認爲它需要一些JavaScript編碼。

感謝和問候, 維尼特中號

回答

0

您可以在這裏採取兩種方法。

第一個非常快速和骯髒:您將表單提交到接收表單值的servlet頁面,然後您立即將用戶彈回表單。

第二種方式,正確的方式是AJAX。使用javascript編寫一個HTTP請求,您可以在後臺完成並在後臺完成,而無需用戶進一步查看。 Here's a good introduction

儘管如此,您應該注意自己的用戶界面,讓用戶知道流程中每個階段發生了什麼(或出了什麼問題)。這是一個強大的工具,而權力來自責任。 ;)

3

使用了Ajax後會給你所需要的功能,我建議使用jQuery,因爲它使事情變得更加容易。

http://api.jquery.com/jQuery.post/

從jQuery的

<!DOCTYPE html> 
<html> 
<head> 
    <script src="http://code.jquery.com/jquery-latest.js"></script> 
</head> 
<body> 
    <form action="/" id="searchForm"> 
    <input type="text" name="s" placeholder="Search..." /> 
    <input type="submit" value="Search" /> 
    </form> 
    <!-- the result of the search will be rendered inside this div --> 
    <div id="result"></div> 

<script> 
    /* attach a submit handler to the form */ 
    $("#searchForm").submit(function(event) { 

    /* stop form from submitting normally */ 
    event.preventDefault(); 

    /* get some values from elements on the page: */ 
    var $form = $(this), 
     term = $form.find('input[name="s"]').val(), 
     url = $form.attr('action'); 

    /* Send the data using post and put the results in a div */ 
    $.post(url, { s: term }, 
     function(data) { 
      var content = $(data).find('#content'); 
      $("#result").empty().append(content); 
     } 
    ); 
    }); 
</script> 

</body> 

+0

絕對是你需要使用的,這在.NET中被稱爲部分回發,在世界其他地方稱爲AJAX。 jQuery是非常強大的庫,它會讓你的生活更輕鬆。 – ppumkin 2011-12-14 11:32:12

+0

絕對你的答案已經幫了我。 – 2011-12-15 04:07:12

1

聽起來像是你想要的是要麼AJAX或上傳到同一個文件。

您可以採取的教程在這裏,這將引導你通過AJAX的形式在原始的javascript:http://www.tizag.com/ajaxTutorial/ajaxform.php

一旦你的想法,AJAX是很容易通過javascript庫/框架如jQuery進行。

要發佈到同一個文件,您的表單操作將是相同的頁面。無論您使用何種語言,服務器都會在處理完數據後返回相同的頁面。

+0

不錯的教程,感謝您的信息 – 2011-12-15 04:06:33