onclick avec function est paramètres
Le
rénald

Hello,
Je vais essayer d'être le plus clair possible, pour cela je vais vous
annexer une portion de mon script, ce dernier fait partie d'une application
HTA (et bien sur il est incomplet volontairement) :
***************************
<html>
<head>
<title>Mise à Jour</title>
<HTA:APPLICATION
APPLICATIONNAME="HTA Upgrade"
SCROLL="yes"
SINGLEINSTANCE="yes"
WINDOWSTATE="normal"
>
</head>
<script language="vbscript">
function update_html(model)
MsgBox(model)
End function
function
page_html(numero,quantity,model,typo,sn,in_stock,on_lend,username,comment,lost)
.
document.write("<input name='button' Value='Upgrade' type='button'
onClick='update_html(model)'>")
end function
</script>
<body>
..
********************************
comme vous pouvez le constater ce qui me pose problème est la fonction
javascript onClick='update_html(model)'. model n'a pas une valeur nulle à
la base car dans la même fonction j'arrive à faire un msgbox (model).
comme vous pouvez le constater, cette commande onclick est générée dans une
page html grace à document.write
Mais lorsque la requête arrive dans la fonction update_html, rien ne se
passe. aucun paramètre n'est transmis. Je reçois même une erreur "object
requested".
avez-vous une idée ?
(je suis désolé si cela parait complexe)
cordiales salutations
Rénald
Je vais essayer d'être le plus clair possible, pour cela je vais vous
annexer une portion de mon script, ce dernier fait partie d'une application
HTA (et bien sur il est incomplet volontairement) :
***************************
<html>
<head>
<title>Mise à Jour</title>
<HTA:APPLICATION
APPLICATIONNAME="HTA Upgrade"
SCROLL="yes"
SINGLEINSTANCE="yes"
WINDOWSTATE="normal"
>
</head>
<script language="vbscript">
function update_html(model)
MsgBox(model)
End function
function
page_html(numero,quantity,model,typo,sn,in_stock,on_lend,username,comment,lost)
.
document.write("<input name='button' Value='Upgrade' type='button'
onClick='update_html(model)'>")
end function
</script>
<body>
..
********************************
comme vous pouvez le constater ce qui me pose problème est la fonction
javascript onClick='update_html(model)'. model n'a pas une valeur nulle à
la base car dans la même fonction j'arrive à faire un msgbox (model).
comme vous pouvez le constater, cette commande onclick est générée dans une
page html grace à document.write
Mais lorsque la requête arrive dans la fonction update_html, rien ne se
passe. aucun paramètre n'est transmis. Je reçois même une erreur "object
requested".
avez-vous une idée ?
(je suis désolé si cela parait complexe)
cordiales salutations
Rénald
Voicie une version qui fonctionne :
<html>
<head>
<title>Mise à Jour</title>
<HTA:APPLICATION
APPLICATIONNAME="HTA Upgrade"
SCROLL="yes"
SINGLEINSTANCE="yes"
WINDOWSTATE="normal"
function update_html(model) {
alert(model);
}
function page_html() {
document.write("<input name='button' Value='Upgrade' type='button'
onClick='update_html(12345);'>");
}
</script>
</head>
<body>
<div id="MONBLOC"></div>
<script language="JScript">
page_html();
</script>
</body>
</html>
@-salutations
--
Michel Claveau
Merci de votre réponse, en effet elle fonctionne, mais elle est en
javascript... et en vbscript est-ce que cela est aussi possible ?
Merci
Rénald
"MCI (ex do ré Mi chel la si do) [MVP]" wrote:
Certainement. Mais je connais peu VBscript.
Et j'aime bien JScript...
Quelqu'un d'autre te répondra sûrement.
Mais, pourquoi ne pas utiliser JScript, vu que la fonction écrite à la
volée est en JScript ?
@+
Michel Claveau
Surtout ne pas rire, mais je connais très peu Javascript... par contre
vbscript je m'y casse les dents depuis quelques années (et je suis toujours
aussi mauvais...)
A+
"MCI (ex do ré Mi chel la si do) [MVP]" wrote:
| Hello,
Bonsoir,
| Surtout ne pas rire, mais je connais très peu Javascript... par contre
| vbscript je m'y casse les dents depuis quelques années (et je suis
| toujours aussi mauvais...)
Vous obtenez l'erreur "Objet attendu" car si la methode "document.write"
est invoquée APRES le chargement de la page (ce qui doit être votre cas)
alors la page HTML en cours sera écrasée par le contenu spécifié dans la
méthode. Ci-dessous une version VBScript permettant de mettre en
évidence ce fonctionnement. Il vous suffit de mettre ou supprimer les
commentaires des blocs d'instructions :
--- Coupez ici : Test.hta ---
<html>
<head>
<title>Mise à Jour</title>
<HTA:APPLICATION
APPLICATIONNAME="HTA Upgrade"
SCROLL="yes"
SINGLEINSTANCE="yes"
WINDOWSTATE="normal">
<script language="VBScript">
Function update_html (model)
MsgBox model, 0, "Modèle"
End Function
Function page_html (model)
' ce bloc d'instructions génère l'erreur "Objet attendu"
' s'il est invoqué APRES le chargement de la page
' document.write ( _
' "<input type='button' Value='Upgrade' " & _
' "onClick='update_html(" & Chr(34) & model & Chr(34) & ")'>")
' ce bloc d'instructions ne provoque pas d'erreur car le code HTML
' est écrit à l'intérieur d'une balise existante
document.getElementById ("update").innerHTML= _
"<input type='button' Value='Upgrade' " & _
"onClick='update_html(" & Chr(34) & model & Chr(34) & ")'>"
End Function
</script>
</head>
<body>
<input type='button' value='Go !' onClick='page_html("HP")'>
<span id='update'></span>
</body>
</html>
--- Coupez ici : Test.hta ---
--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
Je savais bien que qq'un allait répondre à ce prob. et bien entendu cela
dépasse mes compétences....
Je vais essayer ce soir.
merci
"Gilles LAURENT [MVP]" wrote:
Merci de votre réponse.
En effet, cela fonctionne à merveille pour le passage d'un seul paramètre.
maintenant, si je veux passer plusieurs paramètre comment cela se
présente-t'il ?
merci
Rénald
"Gilles LAURENT [MVP]" wrote:
Essaye comme ceci :
<html><head><title>Mise à Jour</title>
<HTA:APPLICATION
APPLICATIONNAME="HTA Upgrade"
SCROLL="yes"
SINGLEINSTANCE="yes"
WINDOWSTATE="normal">
<script language="VBScript">
Function update_html (var1,var2)
MsgBox var1 & vbcrlf & var2, 0, "Modèle"
End Function
Function page_html (var1,var2)
document.getElementById ("update").innerHTML= _
"<input type='button' Value='Upgrade' " & _
"onClick='update_html " & Chr(34) & var1 & Chr(34) & "," & _
Chr(34) & var2 & Chr(34) & "'>"
End Function
</script></head>
<body>
<input type='button' value='Go !' onClick='page_html "HP","Autre"'>
<span id='update'></span>
</body>
</html>
Je vous remercie tous de vos réponse, en fait elle m'on aidé à trouver mon
bonheur.
Voici ce que j'ai fini par écrire dans cette bénite fonction :
function
page_html(numero,quantity,model,typo,sn,in_stock,on_lend,lend_date,username,comment,lost)
document.getElementById ("update").innerHTML= _
"<form>" &_
"<p><input type='textarea' name ='numero' size='50' Value='" &numero
&"'>Numero<br>" &_
"<p><input type='textarea' name ='quantity' size='50' Value='" &quantity
&"'>Quantity<br>" &_
"<p><input type='textarea' name ='model' size='50' Value='" &model
&"'>Model<br>" &_
"<p><input type='textarea' name ='typo' size='50' Value='" &typo
&"'>Type<br>" &_
"<p><input type='textarea' name ='sn' size='50' Value='" &sn &"'
&"'>In Stock<br>" &_
"<p><input type='textarea' name ='on_lend' size='50' Value='" &on_lend
&"'>On Lend<br>" &_
"<p><input type='textarea' name ='lend_date' size='50' Value='" &lend_date
&"'>Lend date<br>" &_
"<p><input type='textarea' name ='username' size='50' Value='" &username
&"'>Username<br>" &_
"<p><input type='textarea' name ='comment' size='50' Value='" &comment &"'
&"'>Lost<p>" &_
"<p><input type='Button' name ='upgrade' Value='Upgrade' onClick='call
miseajour(numero.value,quantity.value,model.value,typo.value,sn.value,in_stock.value,on_lend.value,lend_date.value,username.value,comment.value,lost.value)'>" &_
"<input type='reset' name ='Reset'>" &_
"<input type='button' name='button' Value='Exit'
onClick='window.close()'></form>"
End Function 'page html
"Michel_D" wrote: