paul_vin Ответов: 3

Я хочу получить доступ к скрытым значениям полей в функции


I want to access hidden field values into function
в JavaScript

ib ниже кода я хочу получить доступ к значениям скрытого поля строка, на которую я нажал я хочу получить доступ к этим значениям этого поля (т. е. хранящимся в скрытом поле ) в функции

Скрытое поле похоже на


var iptext='<label>First Name</label>'+'<input type="hidden" name="FirstName'+i+'" value="FirstName'+i+'">';


для каждой ячейки создается одно скрытое поле

Что я уже пробовал:

<!DOCTYPE html>
<html>
<head>
<style>

table {
    border-collapse: collapse;
}

table, td, th {
    border: 1px solid silver;
}

tr:nth-child(even) {
    background-color: #C0C0C0;
}
tr:nth-child(odd) {
    background-color: #808080;
} 

td, th {
  border-bottom:1px solid #eee;
  background: #ddd;
  color: #000;
  padding: 10px 25px;
}
th {
  height: 0;
  line-height: 0;
  padding-top: 0;
  padding-bottom: 0;
  color: transparent;
  border: none;
  white-space: nowrap;
}
th div{
  position: absolute;
  background: transparent;
  color: #fff;
  padding: 9px 25px;
  top: 0;
  margin-left: -25px;
  line-height: normal;
  border-left: 1px solid #800;
}
th:first-child div{
  border: none;
}


</style>
</head>
<body onload="myFunction()">
//<body onload="myFunction(); alternate();">
<div>
  

<div style="overflow:scroll;height:500px;width:100%;overflow:auto">

<table id=tableData>
</table>
</div>
</div>
<p id="demo"></p>
<script>	
		
	function myFunction()
	{
		var n = prompt("", "");
		n = parseInt(n);
		var table;			
		document.getElementById("demo").innerHTML = n;			
		if (n > 0)
		{
        			
			table=document.createElement("TABLE");		
			
			for(i=0;i<n;i++)
			{
				if(i==0)
				{
				var header = table.createTHead();
					// Create an empty <tr> element and add it to the first position of <thead>:
					var row = header.insertRow(0);     	
					// Insert a new cell (<td>) at the first position of the "new" <tr> element:
					var cell = row.insertCell(0);
					// Add some bold text in the new cell:
					cell.innerHTML = "Id"; 

					var cell = row.insertCell(1);
					// Add some bold text in the new cell:
					cell.innerHTML = "FirstName"; 

					var cell = row.insertCell(2);
					// Add some bold text in the new cell:
					cell.innerHTML = "LastName"; 

					var cell = row.insertCell(3);
					// Add some bold text in the new cell:
					cell.innerHTML = "MobileNo"; 

					var cell = row.insertCell(4);
					// Add some bold text in the new cell:
					cell.innerHTML = "Email Id"; 	
				
				}

				else
				{
				
				var row = document.createElement('tr');
				row.id = i;
			    row = table.insertRow(-1);
				
				row.setAttribute("onclick", "RowClick(id)");
	
			//	row.setAttribute("onclick", "RowClick(i)");	


				
				
				
				
				
				//var row = table.insertRow(-1);
				var x = row.insertCell(0);
				x.innerHTML = '100'+i; 
				x.style.width = '50px';
				
				
			
											
				
				var iptext='<label>First Name</label>'+'<input type="hidden" name="FirstName'+i+'" value="FirstName'+i+'">';
				
				var x = row.insertCell(1);
				x.innerHTML = iptext;
				x.style.width = '100px';
				
				
				
				
			
			
			//var input = document.createElement("input");

			//input.setAttribute("type", "hidden");

			//input.setAttribute("name", "name_you_want");

			//input.setAttribute("value", "value_you_want");

			//append to form element that you want .
			//document.getElementById("chells").appendChild(input);
				

				var x = row.insertCell(2);
				x.innerHTML = 'Last Name'+i; 
				x.style.width = '100px';				
				
				var x = row.insertCell(3);
				x.innerHTML = '998855442'+i
				x.style.width = '100px';

				var x = row.insertCell(4);
				x.innerHTML = 'Email'+i;
				x.style.width = '100px';				
            	}
				//alert('hi');	
								
			}
			
		}
		var dvTable = document.getElementById("tableData");
    		dvTable.innerHTML = "";
    		dvTable.appendChild(table);		
	}

	function RowClick()
		{
			
			// var s = document.getElementById(i).value;
			 //document.getElementById("demo1").innerHTML = "The value of z is: " + s;
			alert('hi');
			

			//var FN=document.getElementById('FN'+i;).value
			//var FN=document.getElementById('LN'+i).value;
			//var FN=document.getElementById('Last Name'+i;).value;
			//var FN=document.getElementById('MNo'+i).value;
			//var FN=document.getElementById('Email'+i).value;
    			
                    

	}


</script>
</body>
</html>

3 Ответов

Рейтинг:
1

Patrice T

Цитата:
Я хочу получить доступ к скрытым значениям полей в функции

Это не вопрос ! В чем проблема с этим кодом ?
В HTML/JavaScript поле-это поле, и доступ к нему не зависит от видимости.


Рейтинг:
0

Kornfeld Eliyahu Peter

С точки зрения JavaScript нет никакой разницы между input элемент с type=text или type=hidden...
К обоим можно получить доступ с помощью getElementById, если вы назначите им идентификатор...


Рейтинг:
0

F-ES Sitecore

Если у вас есть индекс строки самый простой способ получить элемент это добавить к нему идентификатор

var iptext='<label>First Name</label>'+'<input type="hidden" name="FirstName'+i+'" id="FirstName'+i+'" value="FirstName'+i+'">';


Таким образом, если у вас есть i = 5, Вы можете получить этот элемент с помощью

var LN=document.getElementById('LastName'+i).value;