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

时间:2012-05-28 15:25:59

标签: php jquery 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

ajax.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>

3 个答案:

答案 0 :(得分:3)

您错过了#登录选择器

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

答案 1 :(得分:1)

您想使用blur而不是mouseleave。

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

mouseleave仅在鼠标离开元素时发生。

答案 2 :(得分:0)

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