我正在向表中添加一行。行中的其中一个单元格是我想要进行ajax调用的输入。但是,我在传递输入值时遇到了问题。动态创建一个元素并尝试将其值作为参数传递给onkeyup
我已经说明这里的问题:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script language="javascript">
function addElement(){
var id = 0;
var tbl = document.getElementById('myTable');
var rowInd = document.getElementById('row1').rowIndex;
rowInd++;
var row0 = tbl.insertRow(rowInd);
var cell = row0.insertCell(0);
// \t cell.innerHTML = '<input type="text" id="myInput'+id+'" value="hello world" onkeyup="alert('+this.value+');" />';
// acts as expected: hello world
// \t cell.innerHTML = '<input type="text" id="myInput'+id+'" value="hello world" onkeyup="makeAjaxRequest(\'value='+this.value+'\')" />';
// Outputs: value=undefined
var theId = "myInput"+id;
// \t cell.innerHTML = '<input type="text" id="myInput'+id+'" value="hello world" onkeyup="makeAjaxRequest(\'value='+document.getElementById(theId).value+'\')" />';
// Output: Object required
cell.innerHTML = '<input type="text" id="myInput'+id+'" value="hello world" onkeyup=" function(){ makeAjaxRequest(\'value='+this.value+'\') }" />';
// Nothing happens
}
function makeAjaxRequest(val){
alert(val);
}
</script>
</head>
<body>
<span onclick="addElement()">
Click me
</span>
<br /><br />
<table id="myTable">
<tr id="row1"><td>hello</td></tr>
</table>
</body>
</html>
这将直接到一个Ajax调用,所以我需要能够访问该对象和值,以便我做我的搜索。任何帮助表示赞赏。
你在哪里调用这个makeAjaxRequest ..请告诉我 – 2012-04-10 07:06:49
它在上面的代码中。这只是一个警报。 – phpmeh 2012-04-10 07:07:28