如果在Ajax的帮助下MySQL中没有该用户名,是否可以更改Textbox的边框颜色?用PHP的JQuery?我在网上搜索了很多,但我得到的是如何使用Ajax更改div的innerHTML,如果我想显示Tick或Cross图像,这很有用。请帮忙
答案 0 :(得分:2)
如下所示进行ajax调用,并使用formdata传递用户名,并使用database检查。如果无法从数据库中获取用户名,则在响应中发送标记'false'。
$.ajax({
type: "POST",
url: "your_url to post",
data: formdata,
dataType: 'json',
success: function (msg) {
if(msg=='false')
$('#tbxControl').attr('style','border:1px solid #000');
}
});
答案 1 :(得分:0)
答案 2 :(得分:0)
这很容易。您可以根据ajax响应更改边框;要更改边框,请在jQuery对象上使用css方法。
实施例: http://jsfiddle.net/mCk6z/
jQuery(function(){
$('#username').css({'border': '1px solid #000'});
});
答案 3 :(得分:0)
结帐this tutorial。
如果你去第40行之后的 Jquery部分,你只需要添加:
$('#username').css({border: "1px solid red"});
希望它有所帮助! 干杯
答案 4 :(得分:0)
对我有用的解决方案:)
<强> HTML 强>
<input type="text" name="eMailTxt" id="eMailTxt" class="texttt" placeholder="Email Address" onChange="showUser(this.value)" />
<强> AJAX 强>
function showUser(str)
{
if (str=="")
{
$('#eMailTxt').css({'border':'blue 2px solid'});
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
if (xmlhttp.responseText=="false")
{
$("#eMailTxt").css({'border':'red 2px solid'});
}
else
{
$("#eMailTxt").css({'border':'green 2px solid'});
}
}
}
xmlhttp.open("GET","login.php?q="+str,true);
xmlhttp.send();
}
<强> PHP 强>
<?php
$q=$_GET["q"];
$con=mysqli_connect("localhost","root","","my_db");
$check="SELECT Email FROM persons WHERE EMAIL = '".$q."'";
$data=mysqli_query($con,$check);
$result=mysqli_fetch_array($data);
if ($result[0]==$q)
{
echo "true";
}
else
{
echo "false";
}
?>
答案 5 :(得分:0)
您可以创建一个错误的用户名类
.badUsername{
Border-colour: <colour of your choice>
}
然后在ajax成功或失败功能中,您可以将此类应用于文本框
$(#<TextboxID>).addClass(badUsername);
(您也可以使用removeClass或hasClass对元素执行检查)
另一个选择是直接在成功或失败功能中调整样式
$(#<TextboxID>).css(“border-colour: <colour of your choice>;”);