我需要檢查文檔元素值是否在使用Javascript的特定操作後更改。比較文檔元素值的變化
我的要求是:
- 有文檔元素包含改變特定日期元素後的默認值。
- 有一些Ajax操作文檔元素值的變化。
這將返回所有的文檔元素,然後我將其存入數組後
document.body.getElementsByTagName('*');
我想找出使用Java腳本元素值請求後改變
我需要檢查文檔元素值是否在使用Javascript的特定操作後更改。比較文檔元素值的變化
我的要求是:
這將返回所有的文檔元素,然後我將其存入數組後
document.body.getElementsByTagName('*');
我想找出使用Java腳本元素值請求後改變
我會建議您在操作發生之前序列化元素和值,然後將序列化的數據與該過程之後的活動元素進行比較。
序列化可以很容易的:
function serialize() {
var output = "";
for (var i = 0; i < document.myForm.elements.length; i++) {
name = document.myForm.elements[i].name;
value = document.myForm.elements[i].value;
output = output + name + "=" + value + "&";
}
alert(output);
}
與阿賈克斯有兩種類型的呼叫,異步和同步()調用JavaScript中,使用GetXmlHttpObject。當您進行「打開」調用時,第三個參數將Sync設置爲布爾值。 I.E:
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request");
return;
}
var querystring_variables = create_request_string(theform);
var url= scriptPage + "?" + querystring_variables + "&time=" + timestamp;
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
True意味着同步錯誤意味着異步。
基本上你的ajax調用應該填充你的網頁div或文本框。如果以異步方式進行調用並執行一次調用以檢查返回的值,則JavaScript將運行得太早,並且由JavaScript調用讀取的值將返回爲空。
如果你這樣做同步,javascript函數讀取值將等待ajax返回一個值,然後執行。
如何序列化數據? – Vicky 2010-01-14 05:52:56
需要做這個純java腳本不使用jquery – Vicky 2010-01-14 06:05:39
Yashwant,我已經更新我的解決方案,使用純JavaScript。 – Sampson 2010-01-14 06:11:21