Передавать значение из html-формы в php без отправки формы

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

Хорошо, вот что я слышал …. вы можете вызвать функцию JS onclick, а затем вы можете отправить форму там … но я хочу быть на одной странице после отправки формы …. вот почему я didnt хотел представить форму в первую очередь …. но выглядит, как нет другого пути … если кто-нибудь знает о методе отправки, пожалуйста, помогите ….

Я ценю все усилия

благодаря

Solutions Collecting From Web of "Передавать значение из html-формы в php без отправки формы"

Да, это называется AJAX. 🙂

В jQuery для краткости:

// or $('#textbox_autopost').blur if you want to do it when the box loses focus $('#textbox_autopost').change(function(){ $.ajax({ type: "POST", url: "some.php", data: {text:$(this).val()} }); }); 

если вы хотите сделать это, нажав кнопку

 <button id="inlinesubmit_button" type="button">submit</submit> $('#inlinesubmit_button').click(function(){ $.ajax({ type: "POST", url: "some.php", data: {text:$('#textbox').val()} }); }); 

Вы также можете сделать это через A HREF (или отправить кнопку, или или что-то еще wacky:

 <!-- backup if JS not available --> <a href="handler.php" id="inline_submit_a">add comment</a> $('#inline_submit_a').click(function(evt){ $.ajax({ type: "POST", url: "some.php", data: {text:$('#textbox').val()} }); evt.preventDefault(); return false; }); 

Если вы хотите сделать это, введите:

 $('#textbox_autopost_onenter').keydown(function(evt){ if ((evt.keyCode) && (evt.keyCode == 13)) { $.ajax({ type: "POST", url: "some.php", data: {text:$(this).val()} }); evt.preventDefault(); return false; } }); 

Конечный, готовый код:

 $(document).ready(function(){ function submitMe(selector) { $.ajax({ type: "POST", url: "some.php", data: {text:$(selector).val()} }); } $('#textbox_button').click(function(){ submitMe('#textbox'); }); $('#textbox').keydown(function(evt){ if ((evt.keyCode) &&(evt.keyCode == 13)) { submitMe('#textbox'); evt.preventDefault(); return false; } }); 

Вам нужно будет использовать Javascript для запроса AJAX POST обратно к PHP на сервере.

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

Вы должны использовать AJAX.

Я настоятельно рекомендую использовать jquery 🙂

JQuery

Несколько способов сделать это …

Похоже, вы после решения без перенаправления, поэтому я бы порекомендовал jQuery (это мой fave, но есть много других решений для реализации AJAX) и делайте что-то вроде следующего:

Предположим, у вас есть текстовое поле и кнопка:

 <input id="txt_input" type="text" /> <input id="btn_send" type="button" value="Submit" /> 

Тогда сделайте что-нибудь подобное

 $(document).ready(function () { $("#btn_send").click(function () { // Do stuff BEFORE sending... // callAFunction(); var test = "asdfasdf"; // Send the text to PHP // $.post("test.php", { input: $("#txt_input").val()}, function(data) { alert("test.php returned: " + data); } ); // Do more stuff after sending.... // callAnotherFunction(); }); }); 

Я верю, что вы получите то, что вам нужно. Подробнее о jQuery и дополнительных опциях с помощью $ .post можно узнать здесь: http://api.jquery.com/jQuery.post/

Надеюсь, это поможет!

Я не уверен, что вы подразумеваете под «обычной кнопкой», но если вы не хотите использовать <input type="submit"> вы можете использовать <button type="submit"> .

button дает вам больше свободы в макете, но более старые версии IE запутываются, если вы используете несколько button на одной странице.