2014-03-03 19 views
0

두 개의 블록이있는 함수가 있는데 첫 번째 요소는 일부 페이지 요소에 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

요소'# msg_sender','# msg_sent','# msg_body','#vid_id','# reply_recipient','# reply_sender' 및'# reply_vid_id' 요소에 대한 HTML을 보여주십시오. – acdcjunior

+0

방금 ​​질문을 편집했습니다. –

답변

3

나는 문제가이 줄을 생각 : 지금까지 내가 'vid_id이'(? div_id '라는 매개 변수, 아마 오타가있다) 정의되지 않은 참조로

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

때문에이 라인은 발생합니다 'div_id가 정의되지 않았습니다.'오류가 발생하고 함수의 실행이 중지됩니다. 첫 번째 코드 블록을 제거하면이 문제가 발생하지 않습니다.

콘솔을 사용하는 법을 배워야합니다. 모든 최신 브라우저에는 개발자 도구가 있습니다. 잠시 후에이 오류를 발견하는 데 도움이되었을 것입니다.

+0

와우, 나는 너무 바보 같은 느낌. 감사! –

+0

그렇듯이 모든 브라우저에는 이와 같은 내용을 알려주는 JavaScript 오류 콘솔이 있습니다. – CBroe

관련 문제