<input onsubmit="if (!this.comment.cleared)
this
est le <input>
. Les éléments d'entrée n'ont pas d'événement submit
ou de propriété comment
. Probablement que vous voulez mettre cela sur l'élément <form>
entourant:
<form onsubmit="if (!this.comment.cleared) ...
Bien qu'il soit possible de le mettre sur le bouton soumettre, vous auriez à utiliser onclick="if (!this.form.comment.cleared) ...
, pour naviguer jusqu'à la forme et vers le bas à l'autre contribution. Ce n'est généralement pas une bonne idée de lier le code de soumission de formulaire à un bouton particulier. Comme l'a dit meder, faire tout cela dans les gestionnaires d'événements en ligne est un peu moche. (En particulier le préfixe javascript:
inutile.) Préférez assigner de JS à la place:
<form id="someform" method="post" action="somewhere"><div>
<textarea
rows="5" cols="40" name="comment"
<?php if($vis['username']==$pusername) { ?>disabled="disabled"<?php } ?>
>
...
</textarea>
<input type="submit" name="Submit" value="Stem!" />
</div></form>
<script type="text/javascript">
var f= document.getElementById('someform');
var cleared= false;
f.elements.comment.onfocus= function() {
f.comment.value= '';
cleared= true;
};
f.onsubmit= function() {
if (!cleared)
f.comment.value= '';
};
</script>
J'ai utilisé la syntaxe XHTML pour l'attribut désactivé (puisque vous semblez être en utilisant la syntaxe XHTML ailleurs), et utilisé value
pour effacer la contenu. N'utilisez pas innerHTML
-il ne fait pas ce que vous pensez, sauf lorsque cela est dû à des bogues du navigateur. Les champs de formulaire doivent toujours être accessibles en utilisant value
.