2016-12-09 25 views
0

这里的形式提交给本身不工作后是我的js代码形式复位按钮在PHP

<script type="text/javascript"> 
    function resetForm(formID) 
    { 
     var myForm = document.getElementById(formID); 

     for (var i = 0; i < myForm.elements.length; i++) 
     { 
      if ('submit' != myForm.elements[i].type && 'reset' != myForm.elements[i].type) 
      { 
       myForm.elements[i].checked = false; 
       myForm.elements[i].value = ''; 
       myForm.elements[i].selectedIndex = 0; 
      } 
     } 
    } 
</script> 

这里是我的PHP代码,

echo "<form class='navbar-form' id='formID' method='POST' action=''>"; 

$sqluser="SELECT DISTINCT username FROM user ORDER BY username ASC"; 
$resultuser=mysqli_query($conn,$sqluser); 

if(isset($_POST['from_date'])) 
    echo "<div class='form-group' style='margin-right:5px;'><input id='from_date' name='from_date' type='date' data-date-inline-picker='true' value='".$_POST['from_date']."'/></div>"; 
else 
    echo "<div class='form-group' style='margin-right:5px;'><input id='from_date' name='from_date' type='date' data-date-inline-picker='true' /></div>"; 

if(isset($_POST['from_date'])) 
    echo "<div class='form-group' style='margin-right:5px;'><input id='to_date' name='to_date' type='date' data-date-inline-picker='true' value='".$_POST['to_date']."'/></div>"; 
else 
    echo "<div class='form-group' style='margin-right:5px;'><input id='to_date' name='to_date' type='date' data-date-inline-picker='true' /></div>"; 

echo "<div class='form-group' style='margin-right:5px;'><select id='username' name='username' style='width:170px;height:33px;'>"; 
if(isset($_POST['username']) && $_POST['username'] == "-- Username --") 
    echo "<option selected='selected'>-- Username --</option>"; 
else 
    echo "<option >-- Username --</option>"; 
while($ro1=mysqli_fetch_array($resultuser)) 
{ 
    if(isset($_POST['username']) && $_POST['username'] == $ro1['username']) 
     echo "<option selected='selected' value='".$ro1['username']."'>".$ro1['username']."</option>"; 
    else 
     echo "<option value='".$ro1['username']."'>".$ro1['username']."</option>"; 
} 
echo "</select>"; 
echo "</div>"; 
echo "<div class='form-group' style='margin-right:5px;'><input name='reset' type='reset' onclick='resetForm('formId'); return false;' /></div>"; 

echo "<div class='form-group' style='margin-right:5px;'><input type='submit' value='submit'></div>"; 
echo "</form>"; 

上点击提交按钮,表单提交到同一页面,结果将显示在表单下方。即使在提交后,我也会在表单中显示用户输入值。现在,我想要一个重置按钮来清除所有输入字段。提交表单后,但重置按钮在提交之前工作,并且在提交后不工作。

+2

你试过'myForm.reset()'吗? https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement/reset – Satpal

+0

AFAIK复位后,设置形式返回到装载状态的值,它是没有一个明确的功能。 – user3154108

+0

好的。得到它了。我应该用什么来清除表格?你看到我的js代码吗? @ user3154108 – siri

回答

2

复位按钮的onclick函数传递的表单ID不正确。

变化resetForm('formId');resetForm('formID');

另外,还可以消除定制功能的需求,让type=reset完成其工作。

<input name='reset' type='reset' onclick='resetForm('formId'); return false;' /> 

更改复位键

<input name='reset' type='reset' value='Reset'/> 

Input Type Reset Reference Link

+0

它不工作,甚至改变formId作为formID @Samir – siri

+0

已经张贴替代的解决方案之后。请检查。 – Samir

0

你不必编写很多代码只需将复位,但在

形式s后

ubmitted单击此按钮,在Java脚本使用jQuery

<button type="reset" id="rest" value="Reset">Reset</button> 

$("#rest").click(); 
+0

我没有明白你的观点。你能解释一下吗? – siri

0

,在开关的情况下添加日期。

<script type="text/javascript"> 

    function resetForm(form) { 
    // clearing inputs 
    var inputs = form.getElementsByTagName('input'); 
    for (var i = 0; i<inputs.length; i++) { 
     switch (inputs[i].type) { 
      // case 'hidden': 
      case 'text': 
       inputs[i].value = ''; 
       break; 
      case 'radio': 
      case 'checkbox': 
       inputs[i].checked = false; 
      case 'date': 
       inputs[i].value='mm/dd/yyyy'; 
     } 
    } 

    // clearing selects 
    var selects = form.getElementsByTagName('select'); 
    for (var i = 0; i<selects.length; i++) 
     selects[i].selectedIndex = 0; 

    // clearing textarea 
    var text= form.getElementsByTagName('textarea'); 
    for (var i = 0; i<text.length; i++) 
     text[i].innerHTML= ''; 

    return false; 
} 
</script>