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


if span id contains php data that contains specific text

第一次发布,但这个脚本让我完全陷入了困境。。。

我先解释一下

我需要在注册按钮上创建一个点击函数,当点击该函数时,它会检查span id,例如$("#username_results"),以查找具有特定文本的php返回数据,例如"username in use"。".然后做一个函数,做另一件事。

这是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")    
    }
});

并且这不会返回任何警报,除非我取出>0,否则它会一直显示警报,即使在该范围内没有显示任何警报。

如有任何帮助,我们将不胜感激。感谢

您需要使用

$("#username_results").text()

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