Form.request() incompatible avec IE ?
Bonjour, tout est dans le titre
Je me rend compte que lorsque je fais un $(myForm).request(), le contenu de $_POST (ou $_GET) est vide avec IE7 et IE8, alors que tout marche très bien avec firefox ...
Est ce que quelqu'un saurait me dire pourquoi ?
Question subsidiaire (qui va peut être avec), la méthode Element.ancestors() ne marche pas non plus comme il faut... Le plus étrange étant que ça marche à un endroit, mais pas à un autre.
Je met ici un extrait des codes que j'utilise, merci d'avance de toutes les questions que vous me poserez pour m'aider :)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
| function get_form(button){
$('edit_window').update("<div class='please_wait'> </div>");
$('msg').update(' ');
show_information("<h1>Loading</h1> Please wait...");
show_information("<br/><h3>"+$(button).readAttribute("value")+"</h3>");
arrayOfElements=$(button).ancestors("form");
notfound=true;
i=0;
for(i=0;i<arrayOfElements.size();i++){
if(Object.inspect(arrayOfElements[i]).match('form')){
notfound=false;
myForm=arrayOfElements[i];
break;
}
}
if(!Object.isElement($(myForm))){
alert(myForm+" doesn't exist");
show_information("(fail) : "+myForm+" doesn't exist");
}
else{
$(myForm).request({
parameters: {'action' : 'get_form'},
asynchronous:false,
evalScripts:true,
onSuccess: function(transport){
new_page=transport.responseText;
},
onUninitialized: function(transport){
show_information(transport.responseText+" (on Uninitialized)");
},
onLoading: function(transport){
$('msg').update();
show_information("(on Loading)");
},
onLoaded: function(transport){
//alert("onLoaded");
show_information(" (on Loaded)");
},
onInteractive: function(transport){
//alert("onInteractive");
show_information(" (on Interactive)");
},
onFailure: function(transport){
//alert("onFailure");
show_information(" (on failure)");
},
onComplete: function(transport){
//alert("onComplete");
show_information(" Done.");
}
});
$('edit_window').update(new_page);
$("apart_page").update($(button).readAttribute("value"));
}
} |
Code:
1 2 3 4 5 6 7 8 9
|
<div id="edit_window">
<form method="post" action="index.php">
<table>
<tr><th>name</th><td><textarea name="name"> "Dupont avec un t ça ferait Tupont"</textarea></td></tr>
</table>
<input type="submit" name="update_bdd" onclick="update_bdd(this);"/>
</form>
</div> |
J'ai mis "parameters : action : 'get_form' " pour tester, et ça marche dans le sens ou $_POST contient la clef action avec la valeur get_form, mais il n'y a pas la clef "name" avec IE...