如果span id包含包含特定文本的php数据

时间:2014-09-15 08:18:34

标签: javascript php jquery html

第一次发帖但这个脚本让我完全陷入困境......

我首先解释一些事情

我需要在注册按钮上创建一个单击函数,单击它时会检查span id,例如$(“#username_results)for php返回具有特定文本的数据,例如”正在使用的用户名“。然后执行其他功能做点什么。

所以这是HTML部分我已经裁掉了不相关的部分

          <td width="168"><div align="right">Username :</div></td>
          <td width="144"><input name="username" type="text" id="username" form="registration"></td>
          <td width="162" height="16"><div align="left"><span class="error_text" id="username_results"></span></div></td>

这是JQuery

    $("#username").keyup(function(username) {

    $(this).val($(this).val().replace(/\s/g, ''));

    var username = $(this).val();

    if(username.length < 4){

        $("#username_results").css({"color":"red"});    
        $("#username_results").html('<img src="images/not_available.png" />' + " Invalid username.")
        }

    if(username.length >= 4) {

        $("#username_results").html('<img src="images/loader.gif" />');
        $.post('scripts/ajax_registration.php', {'username':username}, function(username_data) {
        $("#username_results").html(username_data);
        });
    }
});

这是PHP

include 'sql_connection.php';

if(isset($_POST["username"]))

{

if(!isset($_SERVER['HTTP_X_REQUESTED_WITH']) AND strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) !='xmlhttprequest') {
    die();
}

$username =  strtolower(trim($_POST["username"])); 

$username = filter_var($username, FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_LOW|FILTER_FLAG_STRIP_HIGH);

$results = mysqli_query($sql_connection,"SELECT id FROM members WHERE name='$username'");

$username_exist = mysqli_num_rows($results);

if($username_exist) {
    echo ('<script>$("#username_results").css({"color":"red"})</script>');
    echo ('<img src="images/not_available.png" />');
    echo (" Username in use.");
}else{
    echo ('<script>$("#username_results").css({"color":"green"})</script>');
    echo ('<img src="images/available.png" />');
    echo (" Username available.");
}

mysqli_close($sql_connection);

}

所以我正在尝试的是

$("#register").click(function(e) {

    var username_results = $("#username_results").val();

    if (username_results.indexOf("Username") > 0) {

    alert("YAY ITS WORKING")    

    }

});

这并没有返回任何警报,除非我采取&gt;即使在该范围内没有显示任何内容,它也会始终显示警报。

任何帮助将不胜感激。谢谢

1 个答案:

答案 0 :(得分:1)

您需要使用

$("#username_results").text()

<span>没有价值,这就是为什么它没有给你任何回报。 我为你制作了JSBin:http://jsbin.com/renivuroziqi/2/edit