передача данных формы на другую HTML-страницу

у меня есть две HTML-страницы: форма.HTML и дисплей.формат html. В форме.html, есть форма:

<form action="display.html">
    <input type="text" name="serialNumber" />
    <input type="submit" value="Submit" />
</form>

данные формы отправляются на дисплей.формат html. Я хочу отобразить и использовать данные формы serialNumber в дисплей.html, как показано ниже:

<body>
    <div id="write">
        <p>The serial number is: </p>
    </div>
    <script>
    function show() {
        document.getElementById("write").innerHTML = serialNumber;
    }
    </script>
</body>

Итак, как я могу пройти serialNumber переменной из формы.HTML для отображения.html так, чтобы приведенный выше код отображался.html покажет серийный номер, а функция JavaScript show () получит serialNumber из первого HTML?

6 ответов


если у вас нет возможности использовать серверное программирование, например PHP, вы можете использовать строку запроса или получить параметры.

в форме, добавьте :

<form action="display.html" method="GET">
    <input type="text" name="serialNumber" />
    <input type="submit" value="Submit" />
</form>

когда они отправляют эту форму, пользователь будет направлен на адрес, который включает serialNumber значение в качестве параметра. Что-то вроде:

http://www.example.com/display.html?serialNumber=XYZ

затем вы сможете проанализировать строку запроса, которая будет содержать serialNumber значение параметра-из JavaScript, используя the window.location.search значение:

// from display.html
document.getElementById("write").innerHTML = window.location.search; // you will have to parse
                                                                     // the query string to extract the
                                                                     // parameter you need

см. также строка запроса JavaScript.


альтернативой является сохранение значений в куки-файлах, когда форма отправляется и считывает их из куки-файлов еще раз display.html загрузки страницы.

см. также как использовать JavaScript для заполнения формы на другой странице.


вам нужно получить значения из строки запроса (поскольку у вас нет набора методов, вы используете GET по умолчанию)

использовать следующий учебник.

http://papermashup.com/read-url-get-variables-withjavascript/

function getUrlVars() {
    var vars = {};
    var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
        vars[key] = value;
    });
    return vars;
}

используйте метод " Get " для отправки значения определенного поля через браузер:

<form action="display.html" method="GET">
    <input type="text" name="serialNumber" />
    <input type="submit" value="Submit" />
</form>

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

для отправки данных в двух сервлетов сделать одну кнопку как подать и другим, как кнопка.На первой кнопке Отправить действие в теге формы как обычно, но на другой кнопке вызвать функцию JavaScript здесь вы должны отправить форму с тем же полем, но для того, чтобы потом разных сервлетов пишешь другой тег форма после первой недалеко.объявите те же текстовые поля, но со скрытым атрибутом.теперь, когда вы вставляете данные в первую форму, вставьте их в другую скрытую форму с некоторым кодом javascript.Напишите одну функцию для второй кнопки, которая отправляет вторую форму. Затем, когда вы нажмете кнопку отправки, он выполнит действие в первой форме, если вы нажмете кнопку, он вызовет функцию отправки второй формы с ее действием. Теперь ваша вторая форма будет второй сервлет.

здесь вы можете вызвать два сервельта с одной и той же страницы html или jsp с некоторым смешанным кодом javascript

An пример второй скрытой форме

<form class="form-horizontal" method="post" action="IPDBILLING" id="MyForm" role="form">
    <input type="hidden" class="form-control" name="admno" id="ipdId" value="">
</form>
<script type="text/javascript">
    function Print() {
        document.getElementById("MyForm").submit();
    }
</script>  

*first html page*

<form action="display.jsp" >
    <input type="text" name="serialNumber" />
    <input type="submit" value="Submit" />
</form>


*Second html page*
<body>
<p>The serial number is:<%=request.getParameter("serialNumber") %></p>
</body>


you will get the value of the textbox on another page.

<form action="display.html" method="post">
    <input type="text" name="serialNumber" />
    <input type="submit" value="Submit" />
</form>

в дисплей.HTML вы должны добавить следующий код.

<script>
function getParameterByName(name, url) {
    if (!url) url = window.location.href;
    name = name.replace(/[\[\]]/g, '\$&');
    var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'),
        results = regex.exec(url);
    if (!results) return null;
    if (!results[2]) return '';
    return decodeURIComponent(results[2].replace(/\+/g, ' '));
}

var sn = getParameterByName('serialNumber');

document.getElementById("write").innerHTML = sn;

</script>