Reputation: 127
I want to get the values of the value-tag of all the fields.
e.g. I want to get:
My HTML code which is currently giving NULL
and Undefined
<!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>
Upvotes: 2
Views: 1494
Reputation: 3
OK, your JavaScript is a bit messy. The code below should fit your requirements. Use Value
property with 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);
I personally recommend you use jquery - it is much easier to use, uses fewer lines of code and is powerful.
Here is the code:
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);
Upvotes: 0
Reputation: 5421
if you need take values of inputs, i can do it directly:
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;
i have wrapped it in ul-li tags, if you would like to show it to user
Upvotes: 0
Reputation: 500
Please check this code and see how it's working to get the values. Some pieces of your code were a little bit wrong.
var viewState = document.querySelector("#__VIEWSTATE");
var viewStateGenerator = document.querySelector("#__VIEWSTATEGENERATOR");
console.log(viewState.value);
console.log(viewStateGenerator.value);
document.querySelector('#op').innerHTML = viewState.value;
Upvotes: 2
Reputation: 196
It should be
x.getAttribute('value')
You don't add the "data-" tag retroactively, it would have to be included.
Upvotes: 0