2014-09-03 2 views
0

Итак, в основном, я пытаюсь отправить некоторые данные на удаленную страницу PHP через POST с 4 статическими параметрами и одним случайным параметром - числом. До сих пор я создал HTML-страницу с формой с 4 скрытыми полями и 1 пустым полем, в которое случайное число вставляется как значение через Javascript (используя Math.random). Теперь, когда я отправляю эту форму, она выводит меня на удаленную страницу PHP, поэтому мне нужно снова щелкнуть (в браузере), а затем отправить.Отправка динамических данных POST с помощью Javascript

Итак, я решил загрузить эту форму в iFrame на другой странице HTML, поэтому после нажатия кнопки «Отправить» я могу просто нажать «Обновить», а затем отправить снова.

Я хочу знать, есть ли способ, которым я могу использовать Javascript в родительском HTML, чтобы автоматически отправить форму в iFrame, а затем создать новое случайное значение и отправить его снова?

Вот мой код до сих пор

a.html

<html> 
<body> 
<form method="post" action="http://awebsite.com/remotefile.php"> 
*some hidden fields with the static values* 
<input type="text" id="mytext" name="mobile_no"> 
<input type="submit"> 
</form> 
<script>//don't remember the exact code, use javascript to generate a random number which is put in the value for mytext via getElementById</script> 
</body> 
</html> 

теперь это была форма, которая была вручную передавать данные на сервер

это загрузить IFRAME: b.html

<html> 
<body> 
<iframe src="a.html"> 
</body> 
</html> 

Могу ли я использовать javascript в b.html для повторной отправки форма несколько раз, но со значением mobile_no каждый раз? Или я могу просто отправить данные POST с параметрами на сервер с помощью простого Javascript (или PHP)

ответ

1

Вы задаете вопрос не на 100%, но похоже, что вы хотите асинхронно публиковать данные формы. Вы можете легко сделать это с помощью библиотеки JavaScript, такой как jQuery, без необходимости использования iframe. Сначала вы должны добавить атрибут идентификатора в свою форму, чтобы упростить ссылку в коде jQuery. Затем вы можете прикрепить прослушиватель событий к событию отправки формы, где вы можете настроить форму перед отправкой и обработать ответ

$('#myForm').submit(function(e) { 

    // prevent default form submit action from occuring 
    e.preventDefault(); 

    // load values need to make AJAX request 
    var method = $(this).attr('method'); 
    var action = $(this).attr('action'); 

    // Process Ajax request 
    $.ajax({ 
     type: method, 
     url: action, 
     dataType: 'html', 
     data: $(this).serialize(), 
     beforeSend: function() { 

      // generate and assign per form submit random number 
      // show loading gif 

     }, 
     success: function(response) { 

      // AJAX POST success, insert the HTML response into the DOM 

     }, 
     error: function(jqXHR, textStatus, errorThrown) { 

      // console.log any errors for debugging here 

     }, 
     complete: function() { 

      // Post completion tasks, such as hide loading gif 

     } 
    }); 
}); 
Смежные вопросы