Php 检查blur上的mySQL数据库中是否存在记录
我正在考虑如何实现这个场景: 我有一个表Php 检查blur上的mySQL数据库中是否存在记录,php,jquery,ajax,forms,validation,Php,Jquery,Ajax,Forms,Validation,我正在考虑如何实现这个场景: 我有一个表orders,其中有一个serialNumber字段。然后我还有一个带有表单的PHP页面。我想做的是,onBlur或在字段的回车键上,我想要一个ajax/jquery脚本来检查输入文本框中的序列号,如果它在我的mySQL数据库中有记录的话。然后脚本将警告用户序列号已经存在于数据库中,并且不允许提交 我知道如何用标准表单提交来实现它,但我一直在想,不用按submit按钮就可以实现 有没有办法实现这一点?为此,您可以使用javascript。在javascri
orders
,其中有一个serialNumber
字段。然后我还有一个带有表单的PHP页面。我想做的是,onBlur
或在
字段的回车键上,我想要一个ajax/jquery脚本来检查输入文本框中的序列号,如果它在我的mySQL数据库中有记录的话。然后脚本将警告用户序列号已经存在于数据库中,并且不允许提交
我知道如何用标准表单提交来实现它,但我一直在想,不用按submit按钮就可以实现
有没有办法实现这一点?为此,您可以使用javascript。在javascript上创建,在模糊事件中调用textbox。 在这里,我创建了一个函数,在模糊事件中调用textbox
function CheckUserName(){
var UserName = document.getElementById('UserName');
if(UserName.value != "")
{
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)
{
var value = xmlhttp.responseText;
if(value.length > 1)
{
document.getElementById('ErrorSpan').innerHTML="User Name Already exist please choose Other User Name";
UserName.focus();
}
else
{
document.getElementById('ErrorSpan').innerHTML="";
}
}
}
xmlhttp.open("GET","checkUserName.php?q="+UserName.value,true);
xmlhttp.send();
}
}
创建一个名为checkusername.php的php文件,并通过查询字符串传递值
php代码如下
<?php
$q=$_GET["q"];
include("db_connect.php");
$sql="select * from usermaster where UserName='".$q."'";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result))
{
echo $row['UserName'];
}
mysql_close($con);
?>
如果username find返回值,您可以在javascript函数中获得值。我希望它能帮助您。为此,您可以使用javascript。在javascript上创建,在模糊事件中调用textbox。 在这里,我创建了一个函数,在模糊事件中调用textbox
function CheckUserName(){
var UserName = document.getElementById('UserName');
if(UserName.value != "")
{
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)
{
var value = xmlhttp.responseText;
if(value.length > 1)
{
document.getElementById('ErrorSpan').innerHTML="User Name Already exist please choose Other User Name";
UserName.focus();
}
else
{
document.getElementById('ErrorSpan').innerHTML="";
}
}
}
xmlhttp.open("GET","checkUserName.php?q="+UserName.value,true);
xmlhttp.send();
}
}
创建一个名为checkusername.php的php文件,并通过查询字符串传递值
php代码如下
<?php
$q=$_GET["q"];
include("db_connect.php");
$sql="select * from usermaster where UserName='".$q."'";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result))
{
echo $row['UserName'];
}
mysql_close($con);
?>
如果username find返回值,您可以在javascript函数中获得值。我希望它能对您有所帮助。您也可以使用此方法。我在keyup上检查了它。您可以通过onblur选项使用它
<input type="text" value="" id="jform_domain_name" name="jform[domain_name]" onkeyup="checkAvailability();"/>
<div id="errormsg" class="no-display">Sorry, this name is not available!</div>
<div id="successmsg" class="no-display">Congratulations, this domain is available!</div>
<script>
function checkAvailability(){
jQuery('#ajaxloader').html('<img src="images/ajax-loader.gif" />');
var string = jQuery('#jform_domain_name').val();
if(string == ''){
jQuery('#ajaxloader').html('');
return false;
}
jQuery.ajax({
type : "POST"
,url : "YOUR_ACTION_URL"
,data :"string="+jQuery('#jform_domain_name').val()
,success : function(data){
if(data==0){
var errormsg = jQuery("#errormsg").html();
jQuery("#ajaxloader").show();
jQuery('#ajaxloader').html(errormsg);
}else{
var successmsg = jQuery("#successmsg").html();
jQuery("#ajaxloader").show();
jQuery('#ajaxloader').html(successmsg);
}
}
,complete : function(){
if( jQuery('#jform_domain_name').val() == "" ) {
jQuery("#ajaxloader").hide();
}
}
,beforeSend: function(html){
jQuery("#ajaxloader").show();
jQuery('#ajaxloader').html('<img style="padding-top:6px;" src="images/ajax-loader.gif" />');
return;
}
});
}
</script>
希望这对您有所帮助。…您也可以使用此方法。我在keyup上检查了它。您可以通过onblur选项使用它
<input type="text" value="" id="jform_domain_name" name="jform[domain_name]" onkeyup="checkAvailability();"/>
<div id="errormsg" class="no-display">Sorry, this name is not available!</div>
<div id="successmsg" class="no-display">Congratulations, this domain is available!</div>
<script>
function checkAvailability(){
jQuery('#ajaxloader').html('<img src="images/ajax-loader.gif" />');
var string = jQuery('#jform_domain_name').val();
if(string == ''){
jQuery('#ajaxloader').html('');
return false;
}
jQuery.ajax({
type : "POST"
,url : "YOUR_ACTION_URL"
,data :"string="+jQuery('#jform_domain_name').val()
,success : function(data){
if(data==0){
var errormsg = jQuery("#errormsg").html();
jQuery("#ajaxloader").show();
jQuery('#ajaxloader').html(errormsg);
}else{
var successmsg = jQuery("#successmsg").html();
jQuery("#ajaxloader").show();
jQuery('#ajaxloader').html(successmsg);
}
}
,complete : function(){
if( jQuery('#jform_domain_name').val() == "" ) {
jQuery("#ajaxloader").hide();
}
}
,beforeSend: function(html){
jQuery("#ajaxloader").show();
jQuery('#ajaxloader').html('<img style="padding-top:6px;" src="images/ajax-loader.gif" />');
return;
}
});
}
</script>
希望这有帮助….您在添加内容时触发检查事件,然后处理提交按钮的单击事件。您在添加内容时触发检查事件,然后处理提交按钮的单击事件。谢谢@Nishit,但是有没有办法用jQuery实现这一点?有一个我找到了,请参考此链接:谢谢@Nishit,但是有没有办法用jQuery实现这一点?有一个我找到了,请参考此链接: