2016-04-19 38 views
0

修改:
1.刪除不需要的代碼...
2.闡明瞭所需的解決方案並添加了重置按鈕HTML。如何重置新添加的表單輸入

我見過用於復位形式的各種方法,但我將內容添加到一個空白的div(ID =「unitPulled」)通過AJAX如此,類似於下面的方法將不起作用:

document.forms[0].reset(); 

我的目標是在用戶點擊重置按鈕時重置整個表單。

我該如何解決這個問題? DOM是否需要重新加載?

的HTML按鈕:

<button id="reset" name="reset" class="btn btn-default" type="reset">Clear</button> 

的Javascript:

/* Below is for auto-updating of initial and number */ 
var oXmlHttp 

function showUnits(str) // Change function name 
{ 
    var url = "ajax.cfm?&lic_plate=" + str // Change URL 
    oXmlHttp = GetHttpObject(stateChanged) 
    oXmlHttp.open("GET", url, true) 
    oXmlHttp.send(null) 
} 

// Below is where new elements are added: 
function stateChanged() { 
    if (oXmlHttp.readyState == 4 || oXmlHttp.readyState == "complete") { 
     document.getElementById("unitPulled").innerHTML = oXmlHttp.responseText; // Change ID 
     document.getElementById("lic_plate").focus(); 

    } 
} 

謝謝!

+0

是否要刪除div的所有內容? –

+0

「form [0]」中新添加的字段? – RRK

+0

Keshav - 刪除所有內容或重置每個輸入的新增值將是理想選擇。 Rejith - 是的,新添加的字段是在窗體內,在div「unitPulled」 – PPJN

回答

0

加入這一行,你function stateChanged()

function stateChanged() { 
    if (oXmlHttp.readyState == 4 || oXmlHttp.readyState == "complete") { 
     document.getElementById("unitPulled").innerHTML = oXmlHttp.responseText; // Change ID 
     document.getElementById("myForm").reset(); 
     document.getElementById("lic_plate").focus(); 
    } 
} 

請把你的表格ID而不是myForm會的。讓我知道,如果這不起作用,表格值會在ajax調用後重置。

+0

內我不想重置stateChanged函數內部的窗體。這將是當按鈕被按下時。而且,這個方法在按下按鈕時不會清楚。 – PPJN