2009-10-16 7 views
0

J'ai un formulaire de chargement sur une page qui charge avec un événement onclick sur la page parente en utilisant le javascript suivant. Il est chargé dans un DIV.IE ne peut pas voir les objets dans .load DIV Jquery

function loadContent(elementSelector, sourceURL) { 
$(""+elementSelector+"").load("http://myurl.co.nz/"+sourceURL+""); 
} 

Puis sur un autre clic sur l'événement (dans la nouvelle forme) l'un des champs du formulaire est rempli avec un mot de passe aléatoire.

<label>Password:</label><input type="text" name="password" /><br/> 
<input type="button" value="Generate Password" onClick="genPwd()"/> 

function genPwd(){ 
$.post("rpc.php", { 
    method: "genPwd" 
    }, 
    function(data,textstatus){ 
    document.form.password.value = data.message;  
    }, "json"); 
} 

Tous le javascript sur la page est incluse au moment du chargement.

Chrome et FF sont très bien avec cela, mais IE8 dit que document.form.password n'existe pas, je suppose que ce n'est pas dans la page d'origine. De toute façon autour de cela?

Vive

Répondre

3

AFAIK document.form est dépréciée. Vous pouvez utiliser cette solution navigateur cross à la place:

$('#passwordFieldId').val(data.message); 
+0

vous pouvez probablement obtenir encore loin avec document.forms [idxOrName] .elements [passwordFieldId] .value = ...; – scunliffe

+1

oui, probablement document.forms [index] pourrait fonctionner mais à condition d'utiliser déjà jQuery il vaudrait mieux utiliser toute sa puissance. –

Questions connexes