получить доступ к innerhtml с помощью Jquery - PullRequest
1 голос
/ 18 сентября 2010

Привет, я все еще изучаю 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'>&nbsp;</td>
                <td width='50'>&nbsp;</td>
                <td width='50'>&nbsp;</td>
                <td >&nbsp;</td>
                <td width='20' >&nbsp;</td>    

              </tr>

              <tr>
                <td>&nbsp;</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>&nbsp;</td>
              </tr> 

              <tr>
                <td>&nbsp;</td>

                <td><input type='button' value='Cc :' /></td>
                <td><input type='text' class='white' id='mailcc' size='80' /></td>
                <td>&nbsp;</td>
              </tr>  
              <tr>
                <td>&nbsp;</td>

                <td><input type='button' value='Bcc :' /></td>
                <td><input type='text' class='white' id='mailbcc' size='80' /></td>
                <td>&nbsp;</td>
              </tr>  
              <tr>
                <td>&nbsp;</td>
                <td>&nbsp;</td>
                <td>&nbsp;</td>
                <td>&nbsp;</td>
                <td>&nbsp;</td>
              </tr>  
              <tr>
                <td>&nbsp;</td>
                <td colspan='3'>
                  <textarea name='mail_body' id='mail_body' class='white' 
                  style='height:380px; width:600px; bgcolor:#fff '  >
                  </textarea>
                </td>
                <td>&nbsp;</td>
              </tr>  
              <tr>
                <td>&nbsp;</td>
                <td>&nbsp;</td>
                <td>&nbsp;</td>
                <td>&nbsp;</td>
                <td>&nbsp;</td>
              </tr>  
              <tr>
                <td>&nbsp;</td>
                <td>&nbsp;</td>
                <td>&nbsp;</td>
                <td>&nbsp;</td>
                <td>&nbsp;</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 ;
          } 

Ответы [ 2 ]

2 голосов
/ 18 сентября 2010

mailcc - это поле ввода.Вы не должны использовать innerHTML / html() для доступа к значениям входов.Вместо этого:

document.getElementById('mailcc').value = "test";
$("#mailcc").val("test");

Оба они совершенно правильные.Однако, если mailcc содержится в display_email_send.php, то в этот момент он еще не загрузится.Вы сможете получить к нему доступ только после того, как контент будет load() ed, что вы можете сделать, передав функцию обратного вызова:

$(document).ready(function(){ 
    $('#'+divbox).load('../customer_rm/display_email_send.php', function() {
        $('#mailcc').val('test');
    }); 
});
0 голосов
/ 18 сентября 2010
document.getElementById('mailcc').innerHTML = "test";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...