2011-12-14 10 views
2

Ну, У меня есть страница с кнопкой отправки. При нажатии на кнопку отправки страница переносится на следующую страницу (например, на страницу сервлетов). Но я хочу, чтобы содержимое страницы формы (т. Е. Все атрибуты и значения) было перенесено на страницу сервлета, а не на всю страницу (то есть она должна быть на странице формы после нажатия кнопки отправки). Это предназначено для мобильных устройств с использованием jQuery Mobile frameworkОтправить не следует переходить на следующую страницу

Я думаю, что для этого требуется кодировка javascript.

Спасибо и уважением, Vineet M

ответ

0

Существует два подхода, которые вы можете предпринять здесь.

Первое довольно быстрое и грязное: вы отправляете форму на страницу сервлета, которая получает значения формы, а затем сразу же отказывается вернуть пользователя в форму.

Второй способ, правильный, способ, является AJAX. Использование javascript для составления HTTP-запроса, который вы запускаете, и который завершается в фоновом режиме, без того, чтобы пользователь ничего не видел. Here's a good introduction.

Следует использовать это с осторожностью - вам нужно обратить внимание на свой пользовательский интерфейс, чтобы пользователь знал, что происходит (или что происходит не так) на каждом этапе процесса. Это мощный инструмент, и власть несет ответственность. ;)

+0

СПАСИБО ДЛЯ ПОМОЩИ. –

+0

Но я думаю, что большая часть AJAX-связи осуществляется через XML.Can мы делаем связь с сервером JSON –

+0

Да, абсолютно, JSON намного проще работать. – graphicdivine

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

+0

определенно ваш ответ мне помог. –

1

Похоже, что вы хотите, либо AJAX или опубликовать в одном файле.

Вы можете взять учебник здесь, который будет направлять вас через форму AJAX в необработанном JavaScript: http://www.tizag.com/ajaxTutorial/ajaxform.php

После того, как вы получите идею, AJAX легко выполняется с помощью яваскрипта библиотек/структур, таких как JQuery.

Чтобы отправить сообщение в тот же файл, в вашей форме будет отображаться страница. И сервер, используя любой язык, который вы используете, вернет ту же страницу после того, как он позаботится о данных.

+0

Хороший учебник, спасибо за информацию –

Смежные вопросы