2017-03-22 33 views
2

我想獲取所有字段的值標記的值。如何獲取HTML標記的值(getAttribute返回NULL)

例如我想:

  • /wEPDwUKLTUwMTUxNzcwOGRklQy3YSnUhKEGDrFOOy2aa5Lg4qY =
  • 83BB589F -/wEWBwKN/dHeCAKl1bKzCQK1qbSRCwKpiJ/dDgKE8/3/CQKM + 5aFCQKM54rGBs1XK43QekWbnANIKpGR9 + Q85Kji
  • 0151CSE003
  • @Abhishek

我正在給出的HTML代碼NULLUndefined

<!DOCTYPE html> 

<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 

<body> 

<form name="form1" method="post" action="http://abc/Home/default.aspx" id="form1"> 

    <div><input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKLTUwMTUxNzcwOGRklQy3YSnUhKEGDrFOOy2aa5Lg4qY="></div> 
    <div><input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="83BB589F"></div> 
    <div><input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWBwKN/dHeCAKl1bKzCQK1qbSRCwKpiJ/dDgKE8/3/CQKM+5aFCQKM54rGBs1XK43QekWbnANIKpGR9+Q85Kji"></div> 
    User Name<input name="txtUserName" type="text" id="txtUserName" value="0151CSE003"> 
    Password<input name="txtPassword" type="password" id="txtPassword" value="@Abhishek"> 
    <input type="submit" name="Ulogin" value="Login" id="Ulogin" > 

</form> 
<br><br> 
<div id="op"></div> 

<script> 

{ 
    //var x=document.getElementsByTagName("div")[0].getAttribute('value'); 
    var x=document.getElementsByTagName("div")[1]; 


    alert(x.getAttribute('data-value')); 
    alert(x.dataset.value); 

    document.getElementById("op").innerHTML=x; 

} 
</script> 

</body></html> 

回答

2

請檢查此代碼,看看它是如何工作來獲取值。你的一些代碼有點不對。

var viewState = document.querySelector("#__VIEWSTATE"); 
var viewStateGenerator = document.querySelector("#__VIEWSTATEGENERATOR"); 

console.log(viewState.value); 
console.log(viewStateGenerator.value); 

document.querySelector('#op').innerHTML = viewState.value; 
+0

感謝man..That工作。 –

+0

但u能PLZ告訴我哪裏錯了先前 –

+0

基本上是: - 輸入ID應該更短,描述性的,而不是使用下劃線或大寫 - 腳本標籤不需要花括號包圍的代碼,只是起到了 - 使用'querySelector'而不是'getElementsByTagName' - 使用'console.log'而不是'alerts'來進行更友好的交互 –

0

應該

x.getAttribute('value') 

你不追溯添加「數據 - 」的標籤,它必須被包括在內。

0

好的,你的JavaScript有點混亂。以下代碼應符合您的要求。使用Value財產與getElementById

var VIEWSTATE = document.getElementById("__VIEWSTATE").value; 
    var VIEWSTATEGENERATOR = document.getElementById("__VIEWSTATEGENERATOR").value; 
    var EVENTVALIDATION = document.getElementById("__EVENTVALIDATION").value; 
    var UserName = document.getElementById("txtUserName").value; 
    var Password = document.getElementById("txtPassword").value; 

alert(VIEWSTATE +"\n" + VIEWSTATEGENERATOR +"\n" + EVENTVALIDATION + "\n" + UserName+"\n"+Password); 

我個人建議你使用jQuery的 - 它是非常容易使用,使用更少的代碼和功能強大。

下面是代碼:

var VIEWSTATE = $("#__VIEWSTATE").val(); 
    var VIEWSTATEGENERATOR = $("#__VIEWSTATEGENERATOR").val(); 
    var EVENTVALIDATION = $("#__EVENTVALIDATION").val(); 
    var UserName = $("#txtUserName").val(); 
    var Password = $("#txtPassword").val(); 

alert(VIEWSTATE +"\n" + VIEWSTATEGENERATOR +"\n" + EVENTVALIDATION + "\n" + UserName+"\n"+Password); 
+0

非常感謝你..這樣的工作很有魅力 –

0

,如果你需要採取的輸入值,我可以直接做到這一點:如果你將

var x=document.getElementsByTagName("input"); 
    var showValues = '<ul>'; 

    for(var i=0, len=x.length; i<len; i++){ 
     if(x[i].id != "Ulogin"){ 
      showValues +='<li>'+x[i].value + '</li>'; 
     } 
    } 
    showValues += '</ul>'; 

    document.getElementById("op").innerHTML=showValues; 

我已經在UL-李標籤把它包喜歡把它展示給用戶

+1

Thanks..That工作 –