1

私はこれをやろうとしています http://web.enavu.com/tutorials/checking-username-availability-with-ajax-using-jquery/

ユーザーがいくつかのフォームに入力している間にいくつかのIDの可用性を確認するために、mysqlの代わりにpostgresqlを使用しています...何が間違っているのかわかりませんが、phpファイルに何か問題があると思います.それからアラートを出そうとしても何も起こらず、利用可能な場合でも常に「instituto is not avaliable」と表示されるため、表示できない小さなエラーになります(返品1から順序を変更しようとしましたphp ファイルで 0 に、またはその逆) それでも、同じ応答が得られます。PHPは何もしていないようです。

あなたが私を助けることができれば、私はとても感謝しています. これが私のコードです:

HTML

<input id="nombre_insti" class="widearea" type="text" name="nombre"> 
        </div>
        <div id='avaliability'>   </div>

JS

$(document).ready(function() {

    var checking_html = 'Checking...';

    $('#nombre_insti').change(function(){
            $('#avaliability').html(checking_html);
            check_availability();
    });
});


function check_availability(){

    //get the instituto
    var instituto = $('#nombre_insti').val();

    //use ajax to run the check
    $.post("check.php", { instituto: instituto },
        function(result){
            //if the result is 1
            if(result == 1){
                //show that the instituto is available
                $('#avaliability').html(instituto + ' is Available');
            }else{
                //show that the instituto is NOT available
                $('#avaliability').html(instituto + ' is not Available');
            }
    });

}

PHP

<?php
    $nombre_insti=$_POST['nombre_insti'];
    $result = pg_query("SELECT nombre_institucion 
                        FROM instituciones
                        WHERE
                        nombre_institucion='$nombre_insti'");
    <script type="text/javascript">alert("This alert is not showing");</script>

    if(pg_num_rows($result)==0){
        echo 0;
        return 0;
    }else{
        echo 1;
        return 1;
    }
}?>
4

3 に答える 3

1

検証プラグインのリモート メソッドを使用できます

var rp = "<?php echo base_path; ?>";
var validator = $("#registerForm").validate({
    rules: {
        "firstname" : {
            required : true                    
        }, 
        "lastname" : {
            required : true                    
        },
        "email" : {
            required : true,
            email : true, 
            remote: rp + 'user/emailExists'
        },
        "username" : {
            required : true,
            remote: rp + 'user/usernameExists'          
        }
    },
    messages: {
        "username" : {
                remote : jQuery.format("username not Available")
           },
        "email" : {
            remote : jQuery.format("email not Available")
        }
    }
});
于 2013-05-24T17:02:25.260 に答える
1

これを試して:

$nombre_insti=$_POST['instituto'];

PHPスクリプト内のjsコードを削除します

于 2013-05-24T14:42:34.227 に答える
1

応答がない場合は、致命的な PHP エラーが発生し、display_errors電源がオフになっているためです。

エラーの原因は次のとおりです。

<script type="text/javascript">alert("This alert is not showing");</script>

PHP の途中に HTML があります。

echoHTML の周りの PHP タグを使用または閉じることで修正できます。

echo '<script type="text/javascript">alert("This alert is not showing");</script>';

また

?>
    <script type="text/javascript">alert("This alert is not showing");</script>
<?php
于 2013-05-24T14:43:23.303 に答える