无需提交表单即可将值从html表单传递到php [英] Pass value from html form to php without submitting the form

查看:118
本文介绍了无需提交表单即可将值从html表单传递到php的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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



以下是我听到的内容:您可以调用一个JS函数 onclick ,然后您可以提交表单



  • b从那里



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



如果有人知道提交方法,请帮忙。

解决方案

是的,它被称为AJAX。 :)



在jQuery中,为简洁起见:

  //或$('#textbox_autopost')。如果你想在盒子失去焦点的时候做模糊处理,那么模糊
$('#textbox_autopost')。change(function(){
$ .ajax({
类型:POST,
url:some.php,
data:{text:$(this).val()}
});
}) ;






如果您想通过按钮点击

 < button id =inlinesubmit_buttontype =button> submit< / submit> 

$('#inlinesubmit_button')。click(function(){
$ .ajax({
type:POST,
url:some。 php,
data:{text:$('#textbox')。val()}
});
});

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

 <! - 备份如果JS不可用 - > 
< a href =handler.php id =inline_submit_a>添加评论< / 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){$ b $ ((evt.keyCode)&(evt.keyCode == 13))
{
$ .ajax({
type:POST,
url :some.php,
data:{text:$(this).val()}
});
evt.preventDefault();
return false;















$ b <

  $(document).ready(function(){
function submitMe (选择器)
{
$ .ajax({
type:POST,
url:some.php,
data:{text:$(选择器).val()}
});

$ b $('#textbox_button')。click(function(){
submitMe('#textbox');
});如果((evt.keyCode)&&(evt.keyCode == 13))
($ b $('#textbox')。keydown(function(evt){
$ b submitMe('#textbox');
evt.preventDefault();
return false;
}
});


I have a text box. I want to take user input from there and pass it to PHP without using submit button. I would prefer a normal button and onclick should pass data to PHP.

Here is something I heard:

  • you can call a JS function onclick and then you can submit the form from there

But I want to be on the same page after submitting the form. That's why I didn't want to submit the form in the first place. But looks like there is no other way.

If anyone knows about the submit method, please, help.

解决方案

Yes, it is called AJAX. : )

In jQuery, for brevity:

// 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()}
    });
});


if you want to do it via button click

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

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

You can also do it through an A HREF (or submit button, or or something else 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;
});

If you want to do it on enter:

$('#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;
    }
});


Final, site-ready code:

$(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;
      }
   });

这篇关于无需提交表单即可将值从html表单传递到php的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆