使用具有多个输入类型名称的javascript进行表单验证

时间:2013-09-04 14:14:49

标签: php javascript jquery codeigniter validation

我想做个测验。首先,我做一个测验插入。所以我想进行验证,如填写表格中的所有值,答案必须在选项中... 我尝试使用codeigniter框架。 这是我的查看

<?php include_once('header.php'); ?>
<?php include_once('tnavbar.php'); ?>

<script src="<?php echo base_url();?>/js/jquery-1.9.1.min.js"></script>
<script>
function validateForm1()   //This javascript function is not working
{
var j=<? echo $number;?>;
for(var i=1; i<= j ; i++)
var qus1=document.forms["myForm1"]["ques[i]"].value;
var opt1=document.forms["myForm1"]["opt1[i]"].value;
var opt2=document.forms["myForm1"]["opt2[i]"].value;
var opt3=document.forms["myForm1"]["opt3[i]"].value;
var ans1=document.forms["myForm1"]["ans1[i]"].value;
if ((qus1==null || qus1=="")||(opt1==null || opt1=="")||(opt2==null || opt2=="")||        (opt3==null || opt3=="")||(ans1==null || ans1==""))
  {
  alert("All field must be fill");
  return false;
  }
}
</script>

<div class="maincontent_area">
<div class="container">
    <div class="row">
        <div class="span12">
        <form name="myForm1" action="<? echo base_url()."/index.php/Tmcq_test/insertmcq";?>" onsubmit="return validateForm1()" method="post">


            <?php         for($i=1; $i<= $number; $i++){
//Here the $number is user input like 2,3, or 4 etc number of mcq
?>
   Question : <input type="text" name="ques[<?php echo $i;?>]"><br/>
   Option 1 : <input type="text" name="opt1[<?php echo $i;?>]" ><br/>
   Option 2 : <input type="text" name="opt2[<?php echo $i;?>]" ><br/>
   Option 3 : <input type="text" name="opt3[<?php echo $i;?>]" ><br/>
   &nbsp;Answer : &nbsp;<input type="text" name="ans[<?php echo $i;?>]" ><br/>

   <br/>
   <?php  //echo $value->answer;

    } ?>
                    <input type="hidden" name="quiz_name"  value="<?php echo $name;?>">
                    <input type="hidden" name="sub_id"  value="<?php echo $sub_id;?>">
                    <input type="hidden" name="quiz_number"  value="<?php echo $number;?>">
                    <input type="hidden" name="time_number"  value="<?php echo $time_number;?>">

        <input type="submit" name="submit" id="submit" value="Create"  class="btn btn-info">


        </form>


        <a href="<? echo base_url()."/index.php/Tmcq_test";?>"> <button class="btn btn-info"> Exit  </button> </a>

        </div>
    </div>
</div>

     现在我如何使用javascript在此视图中添加表单验证 我添加了一些js代码,但它没有工作,所以我如何实现这个? 任何人都可以帮忙

1 个答案:

答案 0 :(得分:0)

您应该更新变量分配。在你的情况下,JS正在寻找名为“ques [i]”,“opt1 [i]”,“ans1 [i]”等的表单元素。但是你需要将字母“i”变为变量。试试这个:

var qus1=document.forms["myForm1"]["ques[" + i + "]"].value;
var opt1=document.forms["myForm1"]["opt1[" + i + "]"].value;
var opt2=document.forms["myForm1"]["opt2[" + i + "]"].value;
var opt3=document.forms["myForm1"]["opt3[" + i + "]"].value;
var ans1=document.forms["myForm1"]["ans1[" + i + "]"].value;    

这对我有用:http://jsfiddle.net/kXwBr/1/