2011-09-21 120 views
-1

我使用Jquery/AJAX,PHP和MySQL来完成这个程序。jQuery + MySQL检查文本框的值?

我有3个文本框(模式项目数量也提交按钮)

它是如何工作
(1)。用户输入模式,然后输入项目,然后用户按TABKEY。去数量TEXTBOX。 (2)。我有mysql表tbl_master它包含模式和项目。 (一个图案有很多项目)。
(3)。系统检查用户输入的Pattern和Item是否匹配。

这是我的界面。 interface

我需要为此表单添加5项和5项。 (我试过,但它仅仅只检查第一项文本框)
example

请帮我做这个

我的代码

registration.php的

<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml" lang="en"><head> 
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type"> 
<meta content="en-us" http-equiv="Content-Language"> 

    <title>:: Stores-Stock ::</title> 

    <script src="js/jquery.js" type="text/javascript"></script> 
    <script src="js/settings.js" type="text/javascript"></script> 
<SCRIPT type="text/javascript"> 
pic1 = new Image(16, 16); 
pic1.src = "loader.gif"; 

$(document).ready(function(){ 

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

var usr = $("#username").val(); 
var pat = $("#pattern").val(); 

if(usr.length >= 3) 
{ 
$("#status").html('<img src="loader.gif" align="absmiddle">&nbsp;Checking availability...'); 

    $.ajax({ 
    type: "POST", 
    url: "check.php", 
    data: "username="+ usr+ "&pattern=" + pat, 
    success: function(msg){ 

    $("#status").ajaxComplete(function(event, request, settings){ 

    if(msg == 'OK') 
    { 
     $("#username").removeClass('object_error'); // if necessary 
     $("#username").addClass("object_ok"); 
     $(this).html(' <font color="Green"> ok </font> '); 
    } 
    else 
    { 
     $("#username").removeClass('object_ok'); // if necessary 
     $("#username").addClass("object_error"); 
     $(this).html(msg); 
    } 

    }); 

} 

    }); 

} 
else 
    { 
    $("#status").html('<font color="red">The username should have at least <strong>3</strong> characters.</font>'); 
    $("#username").removeClass('object_ok'); // if necessary 
    $("#username").addClass("object_error"); 
    } 

}); 

}); 

//--> 
</SCRIPT> 

<style type="text/css"> 
body{ 
font-family:"Trebuchet MS"; 
font-size:12px; 
} 
.inn{ 
     float:left; 
     font-size:14px; 
     border:solid 1px #000000; 
     width:143px; 
     font-family:Arial, Helvetica, sans-serif; 
     color:#0066CC; 
     font-weight:bold; 



    } 
.qty { 
    float:left; 
    font-size:14px; 
    border:solid 1px #000000; 
    width:50px; 
    font-family:Arial, Helvetica, sans-serif; 
    color:#0066CC; 
    font-weight:bold; 
} 
</style> 

    </head> 

    <body> 


    <p>&nbsp;</p> 
    <p><strong><center> 
     <strong>FINISH GOOD </strong> STORES STOCK 
    </center></strong></p> 
    <p>&nbsp;</p> 
    <table width="499" align="center" > 
     <tr> 
     <td width="170" align="right" valign="middle" id="abc4">Pattern : </td> 
     <td width="317" align="left" valign="middle" ><input id="pattern" type="text" name="pattern" onkeyup="twitter.updateUrl(this.value)" class="inn" /> 
      &nbsp;</td> 
     </tr> 
    </table> 
    <form name="form1" method="post" action="submit.php"> 
<table width="499" align="center" > 
      <tr> 
     <td width="170" align="right" valign="middle" id="abc">Item :</td> 
     <td width="191" align="left" valign="middle" ><input id="username" type="text" name="username" onkeyup="twitter.updateUrl(this.value)" class="inn" /> 
      </td> 
     <td width="120" align="left" valign="middle" nowrap="nowrap" >Qty : 
      <input name="qty" type="text" class="qty" id="qty" size="10" maxlength="10" /></td> 
     </tr> 
     <tr> 
     <td></td> 
     <td height="20px" colspan="2" align="left" valign="bottom"><div id="status"></div></td> 
     </tr> 
     </table> 
<p>&nbsp;</p> 
    </form> 

    <script type="text/javascript"> 


     $(function() { 

    twitter.screenNameKeyUp(); 
    $('#user_screen_name').focus(); 

     }); 


</script> 

    </body></html> 

检查。 php

<?php 

// This is a sample code in case you wish to check the username from a mysql db table 

if(isset($_POST['username'])) 
{ 
    $username = $_POST['username']; 
    // $username = $_POST['username2']; 
    $pattern = $_POST['pattern']; 



include("dbconnection.php"); 

$sql_check = mysql_query("SELECT item FROM item_master WHERE pattern='$pattern' AND item='$username'"); 

if(mysql_num_rows($sql_check)) 
{ 
echo 'OK'; 
} 
else 
{ 
echo '<font color="red">Plase Check item <STRONG>'.$username.'</STRONG> again.</font>'; 
} 

} 

?> 
+0

所以你的表单总是有5行的项目和数量字段或可以改变?此外,您的图案文本字段不包含在窗体中,是否意味着这样? – martincarlin87

+0

总是在5个项目和数量字段。 - 谢谢 – 9pixle

回答

0

嗯好的。

首先添加其他4行的数量和项目领域,并给它自己的ID,例如每个文本输入:

<tr> 
    <td width="170" align="right" valign="middle" id="abc1">Item :</td> 
    <td width="191" align="left" valign="middle" ><input id="username" type="text" name="username" onkeyup="twitter.updateUrl(this.value)" class="inn" /></td> 
    <td width="120" align="left" valign="middle" nowrap="nowrap" >Qty : 
     <input name="qty" type="text" class="qty" id="qty1" size="10" maxlength="10" /></td> 
</tr> 
    <tr> 
    <td width="170" align="right" valign="middle" id="abc2">Item :</td> 
    <td width="191" align="left" valign="middle" ><input id="username" type="text" name="username" onkeyup="twitter.updateUrl(this.value)" class="inn" /></td> 
    <td width="120" align="left" valign="middle" nowrap="nowrap" >Qty : 
     <input name="qty" type="text" class="qty" id="qty2" size="10" maxlength="10" /></td> 
</tr> 

虽然你可能想改变<input id="username"<input class="username",因为如果使用的ID那么应该只有它的一个实例。

一个更好的方法来打印5行可能只是写一个简单的for或while循环在PHP中,并用循环计数器替换数量和项目字段的ID号。

发送所有这些参数你可以使用:

var data = $('#form1').serialize(); 

$.ajax({ 
    type: "POST", 
    url: "check.php", 
    data: data, 
    success: function(msg){ 

,使事情变得更简单。

然后,我认为它应该只是一个应用您的支票到5行表单字段中的每一行,并希望应该工作的情况。