表所需字段

时间:2013-11-25 05:44:21

标签: javascript jquery validation html-table

我想验证表中的字段,使它们不为空,并且是必需的

如果为空,*应出现在该字段附近。

以下是我的代码,它显示的是alert,但我想在字段旁边显示*,而不是alert

HTML

<table id= "table1">
    <tr>
        <td id="t1">First coulmn</td1>
        <td id="t2">value2</td2>
        <td id="t3">
            <a id="Next" onclick= "javascript:validAndNext('1')">Save</a>
        </td3>
    </tr>
</table>
<table id="tableN"> 

的JavaScript

function validAndNext(table_id) {
    var table = $('#table'+table_id);
    var inputs = table.find("input");
    var valid = true;

    inputs.each(function() {
        // A type of validation is:
        if ($(this).val().length <= 0)
            valid = false;                
    });

    if(valid) {
        table.hide();
        $('#table'+(table_id+1)).show();
    } else
        alert('Your table is not valid!');
}

2 个答案:

答案 0 :(得分:1)

有无

  <div class="error"></div> 

在表的末尾, 然后使用jquery将内容附加到内部。

   $('.error').append('Not Valid'); in else part.

编辑代码:

<table id= "table1">
  <tr>
<td id="t1">First coulmn</td1>
<td id="t2">value2</td2>
<td id="t3">
    <a id="Next" onclick= "javascript:validAndNext('1')">Save</a>
</td3>
</tr>

<table id="tableN">
<div class="error"></div>

    function validAndNext(table_id){
   var table = $('#table'+table_id);
   var inputs = table.find("input");
    var valid = true;
   inputs.each(function(){
     // A type of validation is:
   if($(this).val().length<=0) valid = false;                
    });
  if(valid){
     table.hide();
   $('#table'+(table_id+1)).show();
}else $('.error').append('Not Valid');
}

答案 1 :(得分:0)

我希望我明白你想要实现的目标...... 您应该在输入字段旁边放置一个span或任何其他文本容器,静态或动态。

也许是这样的(伪代码):

inputs.each( function() {

    if($(this).val().length<=0) 
    {
        valid = false;  
        // get the sibbling text container
        $(this).next().text("Invalid").show();             
    }
});