2015-11-06 108 views
1

我使用php,ajax,javascript,jquery在html中創建表單。輸入數據後,其在數據庫中更新但輸入欄未更清楚。我將在java腳本中清除()。但它不工作,請幫我在下面的代碼Html input field not clear,used clear()but not working

的index.html

<html> 
 
<head><title>Registration form</title></head> 
 
<body> 
 
<form id="myForm" action="process.php" method="POST"> 
 
Username: <input type="text" name="username" id="username"> <br /> 
 
Password: <input type="password" name="pass" id="pass"> <br /> 
 
First name: <input type="text" name="fname"> <br /> 
 
Last name: <input type="text" name="lname"> <br /> 
 

 
<button id="submit" name="submit">Register</button> 
 
</form> 
 

 
<div id="ack">Acknowledge</div> \t 
 

 
<script type="text/JavaScript" src="script/jquery-1.11.3.min.js"></script> 
 
<script type="text/JavaScript" src="script/my_script.js"></script> 
 
</body> 
 
</html>

my_script.js

$("#submit").on('click',function(e){ 
 
\t e.preventDefault(); 
 
\t $.post(
 
      $("#myForm").attr("action"), 
 
      $("#myForm :input").serializeArray(), 
 
      function(info,status,xhr){ 
 
       $("#ack").empty(); 
 
       $("#ack").html(info); 
 
       clear(); 
 
      
 
\t \t \t }); 
 

 
    $("#myForm").submit(function(){ 
 
    return false; 
 
\t }); 
 
}); 
 

 
function clear(){ 
 
    $("#myForm:input").each(function(){ 
 
     $(this).val(""); 
 
    }); 
 
}
我需要的文本字段明朗化。

+0

我會將'click'處理程序中的邏輯移動到'submit'一個,而不是返回false。只需將e.preventDefault()保留在頂部即可。 – mariocatch

+1

將$(「#myForm:input」)更改爲$(「#myForm:input」) – Alex

+0

[This](http://www.sitepoint.com/jquery-function-clear-form-data/)可以幫助您。 – Alex

回答

2

那麼有時候這是一個問題,我想請您看看答案從scaisEdge但是如果你想用jQuery做到這一點,我認爲你必須改變這一點:

function clear(){ 
    $("#myForm:input").each(function(){ 
     $(this).val(""); 
    }); 
} 

到:

function clear(){ 
    $('form#myForm')[0].reset(); 
} 
+0

感謝的人,它的工作:) –

+0

很高興聽到:) – swidmann

1

爲什麼不是一個簡單的

function clear(){ 
    document.getElementById("myForm").reset(); 
} 

或之後,如果你喜歡

$("#myForm").submit(function(){ 
    document.getElementById("myForm").reset(); 
    return false; 
    }); 
}); 
+0

where right to document.getElementById(「myForm」)。reset();在上面的代碼 –

+0

在功能清除 – scaisEdge

+0

我有更新的答案 – scaisEdge

1

爲您的代碼提交,更新您的選擇將工作(從改變#myForm:輸入#myForm輸入或#myForm:輸入):

$("#myForm input").each(function() { 
    // your code 
}) 

但這裏是一個簡單的解決方案:

document.getElementById("myForm").reset(); 
+0

謝謝人,它的工作:) –

+0

沒有問題的所有:) – Dragonmon