Javascript 如何添加/删除带有验证的行

Javascript 如何添加/删除带有验证的行,javascript,jquery,Javascript,Jquery,如何添加/删除带有验证的行?这是我的工作示例。我 只想设置验证 您需要的代码是验证代码 /*Intercepts the form submision*/ $('#myform').submit(function(e) { /*sets send to true*/ var send = true; /*foreach required element*/ $('.required').each(function() { /*check if input is vali

如何添加/删除带有验证的行?这是我的工作示例。我 只想设置验证


您需要的代码是验证代码

/*Intercepts the form submision*/
$('#myform').submit(function(e) {
  /*sets send to true*/
  var send = true;
  /*foreach required element*/
  $('.required').each(function() {
    /*check if input is valid*/
    if (!$(this).val()) {
      /*if not valid, don't send and mark red*/
      send = false;
      $(this).css('background-color', 'red');
    } else {
      /*if valid, take away mark*/
      $(this).css('background-color', 'none');
    }
  });
  /*if don't send, prevent sending*/
  if (!send) {
    e.preventDefault();
    return false;
  } else {
      alert('sent');
  }
});
$(文档).ready(函数(){
$(“.add”)。单击(函数(){
变量长度=$('.one').length;
var cloned=$(this).clonest('.one').clone(true);
克隆的.appendTo(“#mainDiv”).find('.sno').val(长度+1);
cloned.find(':input:not(“.sno”).val(“”);
cloned.find(“input[onKeyUp*='showHint']”).attr('onKeyUp','showHint'+(length+1)+'(this.value));
cloned.find(“input[onkeydown*='showHintqty']”).attr('onkeydown','showHintqty'+(length+1)+'(this.value)');
cloned.find(“输入[id*='item_name']”).attr('id','item_name'+(长度+1));
cloned.find(“输入[id*='quantity']”).attr('id','quantity'+(长度+1));
cloned.find(“输入[id*='item_code']”).attr('id','item_code'+(长度+1));
var parent=$(this).closest('.one');
计算(父母);
});
$('.delete')。单击(函数(){
如果($('.one')。长度==1){
警报(“这是默认行,不能删除”);
返回false;
}
var parent=$(this).closest('.one');
$(this.parents(“.one”).remove();
计算(父母);
//重新设置序列号
$('.one')。每个(函数(索引,项){
$(this.find('.sno').val(索引+1);
$(this.find(“input[onKeyUp*='showHint']”)attr('onKeyUp','showHint'+(index+1)+'(this.value)');
$(this.find(“input[onkeydown*='showHintqty']”)attr('onkeydown','showHintqty'+(index+1)+'(this.value)');
$(this).find(“输入[id*='item_name']).attr('id','item_name'+(索引+1));
$(this).find(“输入[id*='quantity']”)。attr('id','quantity'+(索引+1));
$(this).find(“输入[id*='item_code']).attr('id','item_code'+(索引+1));
})
});
});
$(文档).on('keyup',')。数量、.net\u rate、.Tax\u Amount、.Discount\u rate、.Discount\u Tax、.Gross\u Amount',函数(){
var parent=$(this).closest('.one');
计算(父母);
})
函数计算(e){
var q=+$(e).find('.quantity').val();
var n=+$(e).find('.net_rate').val();
var t=+$(e).find('.tax').val();
var dr=+$(e).find('.Discount_rate').val();
var dt=+$(e).find('.Discount_tax').val();
var总和=0;
$(e).find('.Gross_Amount').val(q*n);
$(e).find('.Tax_Amount').val((g=q*n*t/100).toFixed(2));
$(e).find('.total').val((q*n)+g.toFixed(2));
$('.total')。每个(函数(即,e){
sum+=+$(e).val();
});
var disc=$('.disc_rate').val();
如果(parseInt(disc)>=0){
美元(‘.折扣税’).val(‘);
$('Grand').val((总和-$('Discount#u rate').val()).toFixed(2));
}否则{
$('贴现率').val('');
disc=$('.Discount_tax').val();
如果((盘)>0)$('#Grand').val((总和-((盘)*总和/100)).toFixed(2));
else$('#Grand').val((sum).toFixed(2));
}
};
/*截取表单提交*/
$('#myform')。提交(函数(e){
/*将发送设置为true*/
var send=true;
/*foreach必需元素*/
$('.required')。每个(函数(){
/*检查输入是否有效*/
if(!$(this.val()){
/*如果无效,请不要发送并标记为红色*/
发送=假;
$(this.css('background-color','red');
}否则{
/*如果有效,去掉标记*/
$(this.css('background-color','none');
}
});
/*如果不发送,请阻止发送*/
如果(!发送){
e、 预防默认值();
返回false;
}否则{
警报(“已发送”);
}
});

Sr
项目代码
项目名称
拯救
/*Intercepts the form submision*/
$('#myform').submit(function(e) {
  /*sets send to true*/
  var send = true;
  /*foreach required element*/
  $('.required').each(function() {
    /*check if input is valid*/
    if (!$(this).val()) {
      /*if not valid, don't send and mark red*/
      send = false;
      $(this).css('background-color', 'red');
    } else {
      /*if valid, take away mark*/
      $(this).css('background-color', 'none');
    }
  });
  /*if don't send, prevent sending*/
  if (!send) {
    e.preventDefault();
    return false;
  } else {
      alert('sent');
  }
});