Отправить не следует переносить на следующую страницу - PullRequest
2 голосов
/ 14 декабря 2011

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

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

Спасибо и всего наилучшего, Vineet M

Ответы [ 3 ]

3 голосов
/ 14 декабря 2011

Использование поста 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>

1 голос
/ 14 декабря 2011

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

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

Как только вы поймете, AJAX легко выполняется через библиотеки / фреймворки javascript, такие как jQuery.

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

0 голосов
/ 14 декабря 2011

Здесь есть два подхода.

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

Второй способПравильно, кстати, это AJAX.Использование javascript для составления HTTP-запроса, который вы запускаете и выполняете в фоновом режиме, и пользователь ничего не видит. Вот хорошее введение .

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...