我有一个包含2个块的函数,第一个在一些页面元素中添加html,第二个在表单上填充输入字段。我无法让他们工作。我的意思是,一次只能有一个工作。
function popReadMsg(div_id, msg_id, msg, sender, receiver, sent, msg_vid_id)
{
$('#msg_sender').html(sender);
$('#msg_sent').html(sent);
$('#msg_body').html(msg)
$('#vid_id').html(vid_id);
// this part does not work unless I remove the top block.
$('#reply_recipient').prop('value', sender);
$('#reply_sender').prop('value', receiver);
$('#reply_vid_id').prop('value', vid_id);
}
我尝试在函数中包装第二个块并调用它:
function popReadMsg(div_id, msg_id, msg, sender, receiver, sent, msg_vid_id)
{
$('#msg_sender').html(sender);
$('#msg_sent').html(sent);
$('#msg_body').html(msg)
$('#vid_id').html(vid_id);
populateFields(sender, receiver, msg_vid_id);
}
function populateFields(sender, receiver, msg_vid_id)
{
$('#reply_recipient').prop('value', sender);
$('#reply_sender').prop('value', receiver);
$('#reply_vid_id').prop('value', vid_id);
}
HTML:
<div class="read_more_inner_wrapper">
<p class="output_msg2"></p>
<table border="0">
<tr>
<td><p id="msg_sender"></p></td>
<td><p id="msg_sent"></p></td>
</tr>
<tr>
<td><p id="msg_body"></p></td>
</tr>
</table>
</div>
<div class="hide reply_form" >
<form class="msg_form" onSubmit="return false">
<input type="text" name="reply_sender" id="reply_sender" >
<input type="text" name="reply_recipient" id="reply_recipient" >
<input type="text" name="reply_vid_id" id="reply_vid_id">
<textarea id="reply_msg" name="reply_msg" cols="10" rows="10" placeholder="Write your reply here"></textarea>
<br>
<input type="button" onClick="replyMsg();" value="Send">
</form>
</div>
没有成功:(
欢迎任何帮助, 麦克
答案 0 :(得分:3)
我认为问题在于这一行:
$('#vid_id').html(vid_id);
据我所知,'vid_id'未定义(有一个名为'div_id'的参数,可能是拼写错误?),因此该行将抛出'div_id is undefined'错误,该函数将停止执行。当您删除第一个代码块时,这不会发生。
您应该学会使用控制台,每个现代浏览器都在其开发人员工具中使用它。它会帮助你在一秒钟内找到这个错误。