清除文本框脚本无法正常工作

时间:2014-11-29 06:43:15

标签: javascript php jquery html html5

我有formScript,但Script不起作用。我在一个月前使用它并且它有效,但它现在不起作用。

<form method="post">
    <input type="hidden" name="depName" value="<?php echo $_GET['var'];?>">
    <input type="hidden" name="personStat" value="Espera">

    <div class="input1">FirstName :<input type="text" name="fname" class="in1" value="<?php echo $nombre;?>"> <span class="error1">* <?php echo $nombreErr;?></span> </div>

    <div class="input2">LastName :<input type="text" name="lname" class="in2" value="<?php echo $apellido;?>"> <span class="error2">* <?php echo $apellidoErr;?></span> </div>

    <div class="input3">2LastName :<input type="text" name="Slname" class="in3" value="<?php echo $segundoAppellido; ?>"> <span class="error1"><?php echo $segundoAppellidoErr; ?></span> </div>

    <div class="input4">Student Id :<input type="text" name="studentId" class="in4" value="<?php echo $idEstudiante;?>"> <span class="error2"><?php echo $idEstudianteErr; ?></span> </div>

    <input class="buttonClr" type="button" value="Clear">
</form>

脚本

<script> //Funtion that works on buttonClr click
    $(".buttonClr").live('click',function(){ 
        $(this).parents('form').find('input[type="text"]').val(''); //Clear all textboxes
        $('Select').val(''); //Clear the multiple select
    });
</script>

4 个答案:

答案 0 :(得分:1)

我猜您已将jquery更新为1.7或更高版本,因此live()不再有效。以下是jQuery documentation

的解释
  

从jQuery 1.7开始,不推荐使用.live()方法。使用.on()附加事件处理程序。旧版jQuery的用户应该使用.delegate()而不是.live()。

按以下方式更改脚本

<script> //Funtion that works on buttonClr click
    $(".buttonClr").on('click',function(){ 
         $(this).parents('form').find('input[type="text"]').val(''); //Clear all textboxes
         $('Select').val(''); //Clear the multiple select
    });
</script>

工作演示:http://jsfiddle.net/16nu4aom/

答案 1 :(得分:1)

尝试使用此脚本清除输入字段:

 $(".buttonClr").bind('click',function(){ 
      $(this).parents('form').find('input[type="text"]').val(''); //Clear all textboxes
      $('Select').val(''); //Clear the multiple select
 });

答案 2 :(得分:0)

我建议您使用重置按钮而不是JS。例如:

<form method="post">
    <input type="hidden" name="depName" value="<?php echo $_GET['var'];?>">
    <input type="hidden" name="personStat" value="Espera">
    <div class="input1">FirstName :<input type="text" name="fname" class="in1" value="<?php echo $nombre;?>"> <span class="error1">* <?php echo $nombreErr;?></span> </div>
    <div class="input2">LastName :<input type="text" name="lname" class="in2" value="<?php echo $apellido;?>"> <span class="error2">* <?php echo $apellidoErr;?></span> </div>
    <div class="input3">2LastName :<input type="text" name="Slname" class="in3" value="<?php echo $segundoAppellido; ?>"> <span class="error1"><?php echo $segundoAppellidoErr; ?></span> </div>
    <div class="input4">Student Id :<input type="text" name="studentId" class="in4" value="<?php echo $idEstudiante;?>"> <span class="error2"><?php echo $idEstudianteErr; ?></span> </div>
    <input class="buttonClr" type="reset" value="Clear">
                            <!---^^^^^^^-->
</form>

答案 3 :(得分:0)

如果只想重置所有表单字段,只需添加重置按钮即可。这是1次点击重置按钮的最简单方法。

<input type="reset" value="Reset"/>