Problème de submit sous IE - HTML/CSS - Programmation
Marsh Posté le 30-11-2005 à 10:21:36
Avant de blamer IE commence par coder proprement
Ce bout de code la c'est vraiment nawak:
Code :
|
manque des quotes, et puis mieux vaudrait mieux mettre les actions dans le onclick...
ps: les messages d'alerte c'est mieux sans faute d'orthographe
Marsh Posté le 30-11-2005 à 10:37:18
Merci pour les fautes d'orthographe. ;-)
Donc j'ai enlevé les quotes, pour que ce soit plus propre, et enlver le "action".
Et j'ai refait ma fonction avec la gestion de action dedans comme ceci :
function compteElem(liste){
var tab=0;
for(i=0;i<liste.options.length+1;i++){
tab = i;
}
//alert ("Nombre d'element : "+tab);
if ((tab<21)&&(tab!=0)){
selectionElementsListe(document.forms.formulaire.liste2,'true');
document.forms.formulaire.action = "SUPERVISIONalertes.pl";
document.forms.formulaire.submit();
}else{
if (tab>20){
alert("Vous avez sélectionné trop de portefeuilles, la limite est fixé à 20." );
}else{
if (tab==0){
alert("Veuillez sélectionné au moins un portefeuille.Merci." );
}
}
}
}
Il n' y a aucune différence... Merci de ton aide !
Marsh Posté le 30-11-2005 à 10:52:29
C'est toujours nawak
Fallait pas enlever les quotes mais les mettre autour de ton onclick
Par ailleurs
Code :
|
revient a faire
Code :
|
Marsh Posté le 30-11-2005 à 11:05:55
J'ai réjouté les quotes comme tu m'as dis, j'obtiens ça :
<a href="javascript:selectionElementsListe(document.forms.formulaire.liste2,'true');" onClick="javascript:compteElem(document.forms.formulaire.liste2);">Valider</a>
<a href="#" onClick="window.close()">Fermer</a>
</fieldset>
</form>
C'est la fin de mon fichier HTML,
j'ai modifié ma valeur 'tab' ave ta ligne de code, et ça marche toujours sur Mozilla 1.5 et pas sur IE 6.0... :-(
Marsh Posté le 30-11-2005 à 11:07:53
Code :
|
Remplace ça par :
Code :
|
Ensuite pour le test de tab, c'est plus joli de présenter comme suit (structure conditionnelle en peigne) :
Code :
|
Passons maintenant à l'utilisation de ta fonction :
- le nom est mal choisi : le but n'est pas de compter le nombre d'éléments sélectionnés mais de vérifier que ce nombre est correct => verifSelection
- On l'a dit et répété on ne doit pas mettre de javascript dans le href de <a>
- Rappel sur onClick : si le code javasript dans onClick return false => href n'est pris en compte Cf. un post précedent
- D'ailleurs, pourquoi utiliser un <a> ici, tu n'as qu'a mettre un <input type="submit"> et lancer la vérif en ajoutant un attribut onSubmit au <form>
En résumé :
Code :
|
Code :
|
Marsh Posté le 30-11-2005 à 11:18:26
Je te remercie de ton aide, et de tes idées.
Si j'utilise un lien c'est pour rester cohérent avec l'ensemble du projet. En effet, le mien s'intègre dans une ensemble, c'est pour cela que je veux garderles hyperliens. En tout cas merci, je vais essayer de retoucher ma fonction selectionElementsListe. Et la rajouter dans verifSelection.
Marsh Posté le 30-11-2005 à 11:29:46
Donc ça marche, j'ai remplacé ma <a...></a>, par des <span></span>, je vais modifier le design de la souris et du lien au survol et c'est bon ! Merci de votre aide !
Marsh Posté le 30-11-2005 à 10:02:51
Bonjour
j'ai créé un formulaire dans lequel le submit ne marche pas sous IE, par sous Mozilla ça fonctionne nickel, tout le traitement...
Donc voilà, j'ai cherché mais je n'ai pas trouvé chaussure à mon pieds.
Voici mon code que j'exécute dans un fichier distant :
//Fonction qui compte le nombre d'elements de la liste
function compteElem(liste){
var tab=0;
for(i=0;i<liste.options.length+1;i++){
tab = i;
}
//alert ("Nombre d'element : "+tab);
if ((tab<21)&&(tab!=0)){
selectionElementsListe(document.forms.formulaire.liste2,'true');
document.forms.formulaire.submit();
}else{
if (tab>20){
alert("Vous avez sélectionné trop de portefeuilles, la limite est fixé à 20." );
}else{
if (tab==0){
alert("Veuillez sélectionné au moins un portefeuille.Merci." );
}
}
}
}
Et voici mon fichier HTML :
<center><form name="formulaire" style="margin:0" method="GET" action="SUPERVISIONalertes.pl">
<fieldset unselectable="on" style="width:300px">
<legend align="right">
<a href="javascript:selectionElementsListe(document.forms.formulaire.liste2,'true');document.forms['formulaire'].submit();">
<div id="imgSelect"></div>
</a>
</legend>
<table border="0" summary="">
<tr>
<td>
<div id="controleGauche">
</div>
</td>
<td>
<select align="top" name="liste1" size="10" style="width:120px" multiple>
<option value="1">Entree 1</option>
<option value="2">Entree 2</option>
<option value="3">Entree 3</option>
<option value="4">Entree 4</option>
<option value="5">Entree 5</option>
<option value="6">Entree 6</option>
<option value="7">Entree 7</option>
<option value="8">Entree 8</option>
<option value="9">Entree 9</option>
<option value="10">Entree 10</option>
<option value="11">Entree 11</option>
<option value="12">Entree 12</option>
<option value="13">Entree 13</option>
<option value="14">Entree 14</option>
<option value="15">Entree 15</option>
<option value="16">Entree 16</option>
<option value="17">Entree 17</option>
<option value="18">Entree 18</option>
<option value="19">Entree 19</option>
<option value="20">Entree 20</option>
<option value="21">Entree 21</option>
<option value="22">Entree 22</option>
<option value="23">Entree 23</option>
</select>
</td>
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><div id="controlePrevious"></div></td>
</tr>
<tr>
<td><div id="controleNext">
</div>
</td>
</tr>
</table>
</td>
<td>
<select align="top" id="1" name="liste2" size="10" style="width:120px" multiple="yes">
</select>
</td>
<td>
<div id="controleDroit">
</div>
</td>
</tr>
<tr>
<td>
</td>
<td>
<center>
<div id="DeplaceDroit">
</div>
</center>
</td>
<td>
</td>
<td>
<center>
<div id="DeplaceGauche">
</div>
</center>
</td>
<td>
</td>
</tr>
</table>
<a href="javascript:selectionElementsListe(document.forms.formulaire.liste2,'true');" onClick=javascript:compteElem(document.forms.formulaire.liste2);>Valider</a>
<a href="#" onClick="window.close()">Fermer</a>
</fieldset>
</form></center>
Quand je clique sur l'hyperlien, qui a la fonction onClick, normalement il devrait me rediriger mais il ne se passe rien, il n'y a pas non plus d'erreur Javascript de créer, et sous Mozilla tout est nickel, saloperie d'IE !
Merci de votre aide !