2010-09-18 3 views
1

Salut J'apprends toujours Jquery et ai un problème pour accéder aux éléments de formulaire. Mon script ouvre un div puis le remplit avec un formulaire html pré-écrit. J'utilise ajax pour obtenir le formulaire et jquery. Tout cela fonctionne très bien et je peux voir la boîte de div avec mon formulaire. Le problème est que je veux remplir le formulaire innerhtml et j'ai essayé javascript et jquery mais aucun de mon code ne peuplera les zones de texte.accéder au innerhtml avec 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"); 

Si nécessaire, voici la table. Quelqu'un peut-il offrir des suggestions quant à ce que je fais wron s'il vous plaît?

   <?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> 
      " ; 

c'est la boîte 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 ; 
      } 

Répondre

2

mailcc est un champ de saisie. Vous ne devez pas utiliser innerHTML/html() pour accéder aux valeurs des entrées. A la place:

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

Ces deux méthodes sont tout à fait correctes. Cependant, en supposant mailcc est contenue dans display_email_send.php, alors il n'aura pas encore chargé à ce stade. Vous ne pourrez y accéder après que le contenu a été load() ed, que vous pouvez faire en passant une fonction de rappel:

$(document).ready(function(){ 
    $('#'+divbox).load('../customer_rm/display_email_send.php', function() { 
     $('#mailcc').val('test'); 
    }); 
}); 
+0

Merci d'avoir pris le temps de regarde ça pour moi, vive – Mick

0
document.getElementById('mailcc').innerHTML = "test"; 
+0

Merci d'avoir essayé, mais sans résultat !!, mick – Mick