javascript - 使用 Jquery 访问 innerhtml

标签 javascript jquery ajax

您好,我仍在学习 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 ;
          } 

最佳答案

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');
    }); 
});

关于javascript - 使用 Jquery 访问 innerhtml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3741308/

相关文章:

java - 小部件的所有实例的 GWT setStylePrimaryName

javascript - jsPDF/jsPDF-autotable 将 dom 元素打印到表格中

mysql - 检查文本框中输入的值是否存在于数据库中,而无需在 codeigniter 中提交表单

javascript - 正则表达式匹配javascript中的一串数字和破折号

javascript - AWS Lambda puppeteer 师

php - JavaScript 检查新内容,例如通知

javascript - JS - 这不应该写得更好吗?一个函数 vs 多个函数?

javascript - 防止表单 POST 被后退按钮取消

javascript - IE 中的 XMLHttpRequest.responseURL

ajax - 带有简单且全面的 ajax 小部件集的 javascript 库