2013-05-23 5 views
-3

У меня есть страница JSP, которая включает флажок, поэтому, когда я пытаюсь отправить форму, используя обычный способ javascript document.forms[0].submit();, форма обновляется, а значения флажка не сохраняются.Отправка формы с использованием AJAX

Может кто-нибудь помочь мне в том, как отправить значение формы, используя только AJAX. Мне не нужен способ отправки с помощью JQuery.

Это код, который я использовал для отправки с помощью отправки формы:

function relatedAER(){ 
     ...... 
     document.forms[0].literatureSelected.value = litNO + "&"; 
     document.forms[0].opCode.value = "relatedAER"; 
     document.forms[0].target='_self'; 
     document.forms[0].action="<%=request.getContextPath()%>/litaer.do?selected="+selected; 
     document.forms[0].submit(); 
    } 
+0

В чем проблема? Вы выбрали, какой API вы используете для него (создание XHR, JSON-P и т. Д.)? Вам не удалось найти учебник для этого API? Получает ли он данные из формы, вызывающей проблемы? Или помещать эти данные в формат, подходящий для отправки в HTTP-запрос? Или что-то другое? Как бы то ни было, ваш вопрос не [разумно охвачен] (http://stackoverflow.com/faq#dontask) – Quentin

+0

Можете ли вы предоставить код? – Strik3r

+0

Вызов submit() в форме вызовет запрос REST, то, что вы хотите сделать, это не вызов submit(), а только функция javascript с обратным вызовом. –

ответ

0

Я надеюсь, что в следующий раз, вы поставите некоторые усилия, на создание даже простого кода, и показывает нам, вместо того, чтобы просить скрипт.

Теперь, что bieng сказал: Это представит имя пользователя в файл PHP, называется fetch.php

HTML

<input type='text' name='user' id='user' /><br/> 
<input type='submit' name='submit' onclick='check()' /> 
<div id='output'></div> 

Ajax:

function check(){ 
    var xmlhttp; 
     if(window.XMLHttpRequest){ 
      xmlhttp = new XMLHttpRequest(); 
     }else{ 
      xmlhttp = ActiveXObject('Microsoft.XMLHTTP'); 
    } 

    xmlhttp.onreadystatechange = function(){ 
    if(xmlhttp.readyState === 4 && xmlhttp.status === 200){ 
     document.getElementById('output').innerHTML = xmlhttp.responseText; 
      } 
     } 

    get_user = document.getElementById('user').value; 
    param = "name="+get_user; 
    xmlhttp.open('POST','fetch.php', true); 
    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
     xmlhttp.send(param); 
    } 
    </script> 
+0

ваша попытка отправить один элемент .. но можно ли отправить всю форму, используя тот же путь? как param = document.forms [0]; , а затем отправить запрос xmlhttp? – nithin

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