您好我还在学习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 ;
}
答案 0 :(得分:2)
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');
});
});
答案 1 :(得分:0)
document.getElementById('mailcc').innerHTML = "test";