您好,我仍在学习 Jquery,在访问表单元素时遇到问题。我的脚本打开一个 div,然后用预先编写的 html 表单填充它。我正在使用 ajax 来获取表单和 jquery。这一切都很好,我可以看到里面有我的表单的 div 框。问题是我想填充 innerhtml 表单并且我尝试了 javascript 和 jquery 但我的代码都不会填充文本框。
divbox = "fixedbox"
// open up the div
setdiv(divbox,100,600,800)
// JQ - ajax
$(document).ready(function(){
$("#" + divbox).load("../customer_rm/display_email_send.php");
});
// neither of these will produce any text
document.getElementById('mailcc').value = "test";
$("#mailcc").val("test");
如果需要,这里是表格。任何人都可以就我做错了什么提出任何建议吗?
<?php
echo "
<style type='text/css'>
table {border: 1px solid black}
td, tr {border: 0}
.bdr {
border: 4px solid black ;
}
.white {
background-color:#FFF ;
}
</style>
<div align='center'>
<br><br />
<table width='700' border='2' bgcolor='#CCCCCC'>
<form id = 'mail' name='mail' >
<tr >
<td width='20'> </td>
<td width='50'> </td>
<td width='50'> </td>
<td > </td>
<td width='20' > </td>
</tr>
<tr>
<td> </td>
<td rowspan='3'>
<input type='button'id='send' value='Send'
style='width:60px; height:40px '
/><hr>
<input type='button' value='Close'
style='width:60px; height:20px ' onclick='fadeout()'
/>
</td>
<td><input type='button' value='To :' /></td>
<td><input type='text' class='white' id='mailto' size='80' /></td>
<td> </td>
</tr>
<tr>
<td> </td>
<td><input type='button' value='Cc :' /></td>
<td><input type='text' class='white' id='mailcc' size='80' /></td>
<td> </td>
</tr>
<tr>
<td> </td>
<td><input type='button' value='Bcc :' /></td>
<td><input type='text' class='white' id='mailbcc' size='80' /></td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td colspan='3'>
<textarea name='mail_body' id='mail_body' class='white'
style='height:380px; width:600px; bgcolor:#fff ' >
</textarea>
</td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
</form>
</table>
</div>
" ;
这是div框
#fixedbox {
position:absolute ;
width: 20px;
height: 20px;
top: 40px ;
border: 2px solid black;
background-color:#CCC;
left:50% ;
margin-left:-300px;
visibility:hidden ;
overflow:hidden ;
}
最佳答案
mailcc
是一个输入字段。您不应使用 innerHTML
/html()
来访问输入值。相反:
document.getElementById('mailcc').value = "test";
$("#mailcc").val("test");
这两个都非常正确。但是,假设 mailcc
包含在 display_email_send.php
中,那么此时它还没有加载。您只能在内容被 load()
编辑后访问它,您可以通过传递回调函数来完成此操作:
$(document).ready(function(){
$('#'+divbox).load('../customer_rm/display_email_send.php', function() {
$('#mailcc').val('test');
});
});
关于javascript - 使用 Jquery 访问 innerhtml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3741308/