在发布数据

时间:2016-11-16 07:00:29

标签: javascript php ajax

我有一个动态行,最终用户可以根据需要添加额外的行。我还通过在插入之前查询表中的现有数据来限制数据库中的重复条目。如果用户输入序列号001然后提交,并尝试提交另一个序列号001,则系统返回错误。我现在遇到的问题是,如果用户同时在两个不同的行上输入序列号001,则绕过限制。有没有办法防止这个php / ajax?或者这会落在js上吗?请站点一些简单的例子。提前谢谢!

$(document).ready(function(){
	var counter = 2;
     $('.add-row').click(function() {
           $(".item_form").append('<tr><td><input type="text" name="serialnoa[]" placeholder="serial no.' +
        	counter + '"/></td></tr>');
			counter++; });
   $('.del-row').click(function() {
       if($(".item_form tr").length != 2)
         {
            $(".item_form tr:last-child").remove();
            counter--; 
         }
      else
         {
            alert("You cannot delete first row");
         }
         	});
});
</script>
<!DOCTYPE html>
<html class="no-js" lang="en" dir="ltr">
  
<head>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">


<link rel="stylesheet" type="text/css" href="_css/inventory.css?v=<?=time();?>">

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>

</head>

<body>
  
<table class="item_form">
<tr>
  <th>serial no.</th>
</tr>

<tr>
  <td><input type="text" placeholder="serial no.1" name="serialnoa[]"></td>
</tr>
</table> 

<table>
<tr>
	<td><a href="#" class="add-row"><div>+ Row</div></td>
	<td><a href="#" class="del-row"><div>- Row</div></td>
									
</tr>
</table>
  
</body>
</html>

1 个答案:

答案 0 :(得分:0)

如果序列号只是记录计数器,那么最好自动设置其值 - 当您的页面加载从数据库中取出最后一个序列号时,并在用户添加新行时从该值增加序列号。 / p>

如果序列号是用户输入的某个唯一编号,那么您可以再对PHP方法进行一次AJAX调用,该方法将检查数字唯一性&#34;动态&#34;当用户输入它时。此外,为了防止用户在一个输入会话期间复制序列号,请创建用于检查数字唯一性的JavaScript代码。