0

我的以下代码是将数据插入 MySQL 数据库;但 AJAX 代码根本不起作用。我已经用 IE 和 Firefox 浏览器对其进行了测试。如果在数据库中找到“假名”,则假设 AJAX 显示 div“erreur”,如果在数据库中找不到“假名”,则假定显示 div“bonPseudo”。请问有什么提示吗?谢谢。

<html>
    <head><title>jQuery + AJAX + PHP/MySQL</title>
        <span id="result"></span>

        <script>window.jQuery || document.write('<script src="script/jquery-1.10.1.min.js"><\/script>')</script>  
        <script src="script/mon_script.js" type="text/javascript"></script>
        <script type="text/javascript" src="script/jquery-1.10.1.min.js"></script>
        <script>
             $(function() {
                  $('#txtPseudonyme').keyup(function() {
                      var pseudonyme=$('#txtPseudonyme').val();
                      $.ajax({ 
                              type:"POST",
                              url:"recherche.php",
                              data:'txtPseudonyme='+pseudonyme,
                              success:function(data) {
                                 if(data==1) {
                                    $("#erreur").fadeIn().text('Ce pseudonyme existe déjà!');
                                    $("#bonPseudo").fadeOut();
                                } else {
                                    $("#bonPseudo").fadeIn().text('Vous pouvez choisir ce pseudonyme.');
                                    $('#erreur').fadeOut();
                                }
                              }
                       });
                  });
              });
             </script>
    </head>
    <body>
        <div id="contenu"><!--pour centrer le formulaire-->
            <form id="monFormulaire" action="recherche.php" method="POST">
                <label for="txtPseudonyme"> Pseudonyme: </label>
                <input type="text" name="txtPseudonyme" id="txtPseudonyme">
                <span id="erreur"></span><!--Pour afficher un message d'erreur si pseudonyme existe déjà-->
                <span id="bonPseudo"></span><!--Pour afficher un message d'erreur si pseudonyme n'existe pas-->
                <label for="txtNom"> Nom: </label>
                <input type="text" name="txtNom" id="txtNom">
                <label for="txtPrenoms"> Prénom(s): </label>
                <input type="text" name="txtPrenoms" id="txtPrenoms">
                <label for="txtAge"> Age: </label>
                <input type="text" id="txtAge" name="txtAge">
                <label for="txtCourriel"> Courriel: </label>
                <input type="text" id="txtCourriel" name="txtCourriel">
                <input type="submit">
                <input type="reset">
            </form>
        </div>
    </body>
</html>
4

1 回答 1

0

如果其他情况,您缺少 {},请尝试...

编辑:

您的 jquery 函数和 ajax 格式也不正确,请将函数声明为

$(function() {//函数代码放在这里});

我们在 jquery 中声明函数,所以

$();

应该包含

function(){//代码}

.keyup() 函数的格式再次相同 更改

.keyup(function()) { ...} 到 .keyup(function() { ...});

在 Ajax 的情况下也是如此。您正在以错误的格式关闭 ajax。它应该是

$.ajax({});

& 将值作为参数传递时使用

'变量='+值

还有其他错误,例如,

$('txtPseudonyme') 使用# 来引用字段(id=#,class=.,etc)

这是完整的功能:

<script type="text/javascript" src="script/jquery-1.10.1.min.js"></script>
<script>
    $(function() {
        $('#txtPseudonyme').keyup(function() {
            var pseudonyme=$('#txtPseudonyme').val();
            $.ajax({ 
                    type:"POST",
                    url:"recherche.php",
                    data:'txtPseudonyme='+pseudonyme,
                    success:function(data) {
                       if(data==1) {
                          $("#erreur").fadeIn().text('Value 1');
                          $("#bonPseudo").fadeOut();
                      } else {
                          $("#bonPseudo").fadeIn().text('Value 2');
                          $('#erreur').fadeOut();
                      }
                    }
             });
        });
     });
    </script>

锻炼 jquery 和 ajax 的基础知识,尝试教程......

于 2013-06-27T19:29:53.650 回答