Привет, у меня есть текстовое поле …. Я хочу взять пользовательский ввод оттуда и передать его на PHP без кнопки отправки … Я бы предпочел обычную кнопку, и onclick должен передать данные на php
Хорошо, вот что я слышал …. вы можете вызвать функцию JS onclick, а затем вы можете отправить форму там … но я хочу быть на одной странице после отправки формы …. вот почему я didnt хотел представить форму в первую очередь …. но выглядит, как нет другого пути … если кто-нибудь знает о методе отправки, пожалуйста, помогите ….
Я ценю все усилия
благодаря
Да, это называется 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
на одной странице.