将值从html表单传递给php而不提交表单

koo*_*ool 0 html php

我有一个文本框.我想从那里获取用户输入并将其传递给PHP而不使用提交按钮.我更喜欢一个普通的按钮,onclick应该将数据传递给PHP.

这是我听到的:

  • 你可以调用JS函数onclick,然后你可以从那里提交表单

但是我希望在提交表单后能够在同一页面上.这就是为什么我不想首先提交表格.但看起来没有其他办法.

如果有人知道提交方法,请帮助.

Joh*_*een 10

是的,它被称为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()}
    });
});
Run Code Online (Sandbox Code Playgroud)

如果你想通过按钮点击这样做

<button id="inlinesubmit_button" type="button">submit</submit>

$('#inlinesubmit_button').click(function(){
    $.ajax({
        type: "POST",
        url: "some.php",
       data: {text:$('#textbox').val()}
    });
});
Run Code Online (Sandbox Code Playgroud)

您也可以通过A HREF(或提交按钮,或其他古怪的东西:

<!-- 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;
});
Run Code Online (Sandbox Code Playgroud)

如果你想输入:

$('#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;
    }
});
Run Code Online (Sandbox Code Playgroud)

最终的,站点就绪代码:

$(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;
      }
   });
Run Code Online (Sandbox Code Playgroud)