函数调用内部另一个函数未被执行

时间:2014-03-03 01:23:38

标签: javascript jquery

我有一个包含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>

没有成功:(

欢迎任何帮助, 麦克

1 个答案:

答案 0 :(得分:3)

我认为问题在于这一行:

$('#vid_id').html(vid_id);

据我所知,'vid_id'未定义(有一个名为'div_id'的参数,可能是拼写错误?),因此该行将抛出'div_id is undefined'错误,该函数将停止执行。当您删除第一个代码块时,这不会发生。

您应该学会使用控制台,每个现代浏览器都在其开发人员工具中使用它。它会帮助你在一秒钟内找到这个错误。