Du javascript dans de l'asp

Fermé
Manu - 31 août 2004 à 15:00
 yeah - 31 août 2004 à 15:56
Bonjour,
Je fais un site en ASP. Mon problème est que je souhaite à un moment donné faire référence à une fonction javascript alors que je suis dans un tableau qui va être généré par le serveur, et je suis bloqué à cause des "". la syntaxe correcte (ou du moins qui marche quand je le fait directement en html!) est :

onBlur="document.forSaisiePiece.ActiviteDebit.value=compter(this.name, this.value)"

Cette fonction controle le nombre de caractère et rajoute des zéros pour obtenir le bon nombre de carctère (huit pour les comptes et 4 pour les activités). Le but est d'éviter qu'un utilisateur tape simplement 120 au lieu de 12000000 puisque c'est ensuite stocké dans une base de donnée.

mais comme je suis dans du Asp, les " ont une autre signification, alors j'ai essayé avec ', ou avec ” mais ça marche pas. Quelqu'un aurait il la solution?
merci d'avance!

Voici mon code :

<%
<form method="POST" action="saisir_piece_exe.asp" name="forSaisiePiece">

Dim tableau
tableau= "<table border=0 width=""70%"" height=87>" & _
"<tr>" & _
"<td> </td>" & _
"<td><b>Compte Débit</b></td>" & _
"<td><b>Activité</b></td>" & _
"<td><b>Compte Crédit</b></td>" & _
"<td><b>Activité</b></td>" & _
"</tr>"

For intCompteur = 1 to 5
tableau = tableau & _
"<tr>" & _
"<td>" & intCompteur & "</td>" & _
"<td>" & _
"<input type=text name=CompteDebit size=20 onBlur=document.forSaisiePiece.CompteDebit.value=compter(this.name, this.value)></td>" & _
"<td>" & _
"<input type=text name=ActiviteDebit size=9 onBlur=document.forSaisiePiece.ActiviteDebit.value=compter(this.name, this.value)></td>" & _
"<td>" & _
"<input type=text name=CompteCredit size=20 onBlur=document.forSaisiePiece.CompteCredit.value=compter(this.name, this.value)></td>" & _
"<td>" & _
"<input type=text name=ActiviteCredit size=9 onBlur=document.forSaisiePiece.ActiviteCredit.value=compter(this.name, this.value)></td>" & _
"</tr>"
Next

tableau = tableau & "</table><br><br><br> " & _
"<input type=submit value=Valider name=B1>   " & _
"<input type=reset value=Rétablir name=B2><br><br></form>"
Response.Write tableau
%>

et la fonction javascript :

function compter(eltname, eltvalue) {
var nom = eltname;
var valeur = eltvalue;
var x = valeur.length;

if(nom == "NumeroCompte" || nom == "CompteCredit"|| nom == "CompteDebit" && x < 8 ){
while(x<8){
valeur = valeur + "0";
x = valeur.length;
}
return valeur;
}
else if (nom == "NumeroCompte" || nom == "CompteCredit"|| nom == "CompteDebit" && x > 8 ) {
alert("Nombre de caractère incorrect")
}
else if (nom == "CodeActivite" || nom == "ActiviteCredit"|| nom == "ActiviteDebit" && x < 4) {
while(x<4){
valeur = valeur + "0";
x = valeur.length;
}
return valeur;
}
else if (nom == "CodeActivite" || nom == "ActiviteCredit"|| nom == "ActiviteDebit" && x > 4) {
alert("Nombre de caractère incorrect")
}
else {
return valeur;
}
}

7 réponses

Slt;
Ton code html ou JS ne dois pas être compris dans le code ASP .
C'est à dire l'ASP tu le stockes entre "<%" "%>"
Et le JS et l'HTML tu le mets en dur.
Il ne faut pas mélanger le tout.
0
Oui mais de l'asp peut générer de l'html (comme dans mon cas ou un tableau apparait une fois passé dans la moulinette asp)
Or si on était un peu plus rigoureux, je dirais qu'il faudrait mettre des guillements plus souvent dans les balises (exemple après name="ActiviteDebit" )
En fait pour faire plus simple comme question, c'est :
Est ce qu'il y a un moyen pour faire appraitre un " dans le html qui a été généré par de l'asp. Je n'ose pas penser qu'il n'y a pas de solutions, ça a quand meme pas l'aire sorcier!

y a t-il un sauveur parmi vous?
merci!
0
Essayes de doubler tes " alors.
La ou tu veux rentrer un " en tant que caractère normal, essayes de mettre ""
0
oui, c'est plus ça... bon, là ça marche pas encore tout à fait, mais quand je fais afficher la source j'ai la bonne syntaxe.
Merci beaucoup
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
De rien;

En espérant que ça marchera maintenant
0
oui, c'est plus ça... bon, là ça marche pas encore tout à fait, mais quand je fais afficher la source j'ai la bonne syntaxe.
Merci beaucoup
0
De rien;

En espérant que ça marchera maintenant
0