请我想实现这一点:提交学生分数表格输入字段这些是我的代码
form.php的
<span id="ref_report"></span><br>
Student One:<input type="text" name='ref_no[]' id='ref_no'><input type="text" name='admin'id="admin" value='st1'><br>
Students Two <input type="text" name='ref_no[]' id='ref_no'><input type="text" name='admin[]'id="admin" value='st2'><br>
Student three <input type="text" name='ref_no[]' id='ref_no'><input type="text" name='admin[]'id="admin" value='st3'><br>
// jquery的
$('#ref_no').blur(function(){
var query_string = $(this).val();
if(query_string.length>0)
{
//var filter = /^[0-9a-zA-Z_-]{4,}$/;
//if ( preg_match('/^[a-zA-Z0-9.,()@#!?]+$/', $string) )
var filter = /^[a-zA-Z0-9/#-]{1,}$/;// this allows special characters "/" and "-"
if (!(filter.test(query_string))) {
$('#ref_report').html('<font color=red>This #Ref No. is not accepted</font>');
$('.login-apt').attr('disabled', 'disabled');
return false;
}
$.ajax({
type: 'POST',
url: "validate.php",
//data: query_string,
data: {ref_no:query_string},//ref_no
success: function(data)
{
if(data=='exist')
{
$('#ref_report').html('<font color=red><b>This #Ref. Number does not exist here</b></font>');
$('.login-apt').attr('disabled', 'disabled');
}
else
{
$('#ref_report').html('<img src=yes.png><font color="Green">Accepted</font>');
$('.login-apt').removeAttr('disabled',false);
}
}
});
}
});
下面是我在validat.php上用来执行这个技巧的php代码:
if(isset($_POST['ref_no']))
{
$ref_no = mysql_real_escape_string(trim($_POST['ref_no']));
$admin = mysql_real_escape_string(trim($_POST['admin']));
$sql = "SELECT * FROM `tbl_cms` WHERE `admin`= '$ref_no'";
$myquery = mysql_query($sql) or die(mysql_error());
if(mysql_num_rows($myquery) !=0)
{
$row = mysql_fetch_array($myquery);
for($i=0;$i< count($_POST['ref_no']); $i++){
$data = $_POST['ref_no'][$i];
$admin = $_POST['admin'][$i];
$sql="INSERT INTO `tbl_cms` (`admin`, `content`) values('$admin', '" . $data . "')";
mysql_query($sql);
}
echo 'not exist';
}
else
{
echo 'exist';
}
}
我有一个非常简单的MySQL表格,我希望每个学生的分数和他们的管理员自动存储为分数键。它看起来像:
admin Content
std1 3
std2 5
std3 6
.......................................................
我的问题是代码工作但只保存第一个表单字段的内容,即仅限std1得分。而不是保存三个学生的分数 请指导我如何完善它。谢谢
答案 0 :(得分:1)
您不能拥有具有相同值的多个id
属性。改用class:
Student One:<input type="text" name='ref_no[]' class='ref_no'><input type="text" name='admin' id="admin-1" value='st1'><br>
Students Two <input type="text" name='ref_no[]' class='ref_no'><input type="text" name='admin[]' id="admin-2" value='st2'><br>
Student three <input type="text" name='ref_no[]' class='ref_no'><input type="text" name='admin[]' id="admin-3" value='st3'><br>
$('.ref_no').blur(...);
注意我也将id="admin"
更改为id="admin-1"
等。