0

入力フィールドに値を入力したいので、入力フィールドの外側をクリックして入力フィールドを離れるときに、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>
4

3 に答える 3

3

#サインインあなたのセレクターを逃した

$("valueforajax")である必要があります$("#valueforajax")

また

data: dataStringあなたのphpコードであなたが探しているのでdata: 'dataString=' + dataStringORでなければなりませんdata: {"dataString": dataString}

$_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");
             }
          });
        }
    });
于 2012-05-28T15:28:28.280 に答える
1

mouseleave の代わりに blur を使用します。

フォーム要素を離れるたびにぼかしイベントが発生します。TAB を押したり、フィールドの外をクリックしたり、フィールドを変更したりしたときに発生します。

mouseleave は、マウスが文字通り要素を離れたときにのみ発生します。

于 2012-05-28T15:43:13.457 に答える
0

データはオブジェクト(例{"dataString" : "test"})または文字列(例"dataString=test")である必要があります

于 2012-05-28T15:38:09.370 に答える