2011-12-07 38 views
0

在JavaScript中我使用它來填補所謂的「XML」的輸入字段,然後提交表單:表單在DOM域填充之前提交?

document.clientform.XML.value = XMLobject.ToString(); 

submitbutton=document.getElementById('submitbutton'); 
submitbutton.click(); 

XMLobject是持有一個XML文檔的對象。通過ToString(),您可以將整個XML作爲字符串獲取。

現在一些使用IE8的客戶抱怨有時候字段XML的值是空的。

在寫入輸入字段之前,表單可能已經被提交了嗎?

或者,在這種情況下,被點擊後,XML.ToString()準備好了嗎?

+2

是否可以在不通過代碼的情況下提交表單?如果您在表單的「onsubmit」事件中填充XML字段,會發生什麼情況? – robertc

回答

0

@robertc說的是真實的,你的表單在你執行代碼之前提交或者可以在其他事件/時刻提交?

所以你可以改變呼叫你的功能onsubmit事件,會更有意義。然後,你將不再需要調用click()上提交按鈕,僅此:

document.clientform.XML.value = XMLobject.ToString();

你在哪裏調用這個函數?不在提交按鈕上,對嗎?因爲如果在提交按鈕上調用它,我可能會在通過函數之前提交表單。

只是一些假設...

0

一個可能的可能性是,XMLObject.ToString()有時會失敗或產生空的結果。也有可能表單以某種方式提交,而不需要代碼執行。如果您嘗試通過處理表單的onsubmit事件來執行代碼,那麼您可以確保在表單發送到服務器之前,不管代碼將執行什麼操作。