У меня есть эта линияOnClick события получить значение из функции Javascript не работает
<td><a href="offer.php" onclick="location.href=this.href+'?key=' + getTableRow();return false;"><xsl:value-of select="product_name"/></a></td>
Когда я пытаюсь получить возвращаемое значение функции getTableRow() и отображать его на HREF ссылки я взять ключ = undefined.Why случиться, что?
Это мой сценарий на голове HTML
<script type="text/javascript">
function getTableRow() {
var rowIdx;
var rowData= [];
var selectedRow;
var rowCellValue;
if (!document.getElementsByTagName || !document.createTextNode) return;
var rows = document.getElementById('products_table').getElementsByTagName('tbody')[0].getElementsByTagName('tr');
for (i = 0; i < rows.length; i++) {
rows[i].onclick = function() {
rowIdx = this.rowIndex;
selectedRow= this.cells;
for(j= 0;j<selectedRow.length;j++){
rowCellValue= selectedRow[j].textContent ||
selectedRow[j].innerText;
rowData.push('cell '+j+': '+rowCellValue);
}
}
}
return "Row #" +rowIdx+'. '+ rowData[i];
}
</script>
я стараюсь много решения, но ничего work..Please помочь ..
В начале единственного, что я хочу, чтобы вернуть RowIndex . Даже в том, что я получаю undefined.Why это случилось? Мой первый код, прежде чем я попытаюсь получить контент из строки, которую пользователь выбирает.
<script type="text/javascript">
var userSelect;
function getTableRow() {
if (!document.getElementsByTagName || !document.createTextNode) return;
var rows = document.getElementById('products_table').getElementsByTagName('tbody')[0].getElementsByTagName('tr');
for (i = 0; i < rows.length; i++) {
rows[i].onclick = function() {
userSelect = this.rowIndex;
}
}
return userSelect;
}
</script>
, что именно вы пытаетесь сделать, и какая часть не работает? Кроме того, вы можете сделать скрипку? – Snowburnt
Вы ничего не возвращаете внутри 'getTableRow' –
Возможно, вы имели в виду, что строка' return' находится в 'getTableRow()', а не функция 'onclick', которую она связывает с каждой строкой? Зачем нужно, чтобы обработчик клика возвращал строку? – Barmar