如何在不由 ajax 提交的情况下从输入字段发布数据


how can I post data from input field without submit by ajax

我想输入值,输入字段,所以当我通过从输入字段一侧离开输入字段时,我将运行 ajax 代码并将值输入dataString发送到同一个文件,在本例中为 cald ajax.php。谢谢

我的代码:

$(document).ready(function()
{

    var dataString;
$("valueforajax").mouseleave(function() {//when  we leave the field.
    alert('test it is mouseup ');
    dataString=$("#valueforajax").val();
    alert(dataString);
  if ("" = dataString){//it is mean that input field not empty
        $.ajax({
        type: "POST",
         url: "../../ajax.php",
             data: dataString,
             cache: false,
             success: function(html)
             {
             alert("There is submited sucsses");
             }
             });//ajax
        }//if
    });//mouseup
});//ready

阿贾克斯.php

<?php
    if  (isset($_POST['dataString'])){
        echo ("dataString not empty:= ".$_POST['dataString']);}
    ?>
    <html>
    <head>
    <link rel="stylesheet" type="text/css" href="./public/stylesheets/stylesheets.css"  >
    <script type="text/javascript" src="./public/js/jquery-1.7.1.min.js"></script>
    <script type="text/javascript" src="./public/js/ajax.js"></script>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1255">
    <title>mange panel</title>
    </head>
    <body>
    <br>Type value for test in ajax<input id="valueforajax" type=text name='ajaxtest'>

    </body>
    </html>

您错过了选择器的登录#

$("valueforajax")应该是$("#valueforajax").

data: dataString应该是data: 'dataString=' + dataStringdata: {"dataString": dataString},因为在您的 php 代码中您正在搜索

$_POST['dataString']dataString键。

$("#valueforajax").blur(function() { // blur is perfect for what you searching
    dataString = $.trim(this.value); // you don't need $("#valueforajax").val(); 
                                     // here, this is enough
  if (dataString){  // checking for presence of value
        $.ajax({
        type: "POST",
         url: "../../ajax.php",
             data: 'dataString=' + dataString, // or {"dataString": dataString}
             cache: false,
             success: function(html) {
                alert("There is submited sucsses");
             }
          });
        }
    });

你想使用模糊而不是鼠标离开。

每当离开表单元素时,都会发生模糊事件。 当您点击 TAB、在字段外单击、更改字段等时,就会发生这种情况。

仅当您的鼠标真正离开元素时,才会离开鼠标。

数据必须是对象(例如{"dataString" : "test"})或字符串(例如"dataString=test"