web-dev-qa-db-fra.com

comment changer la valeur de textfield de HTML en utilisant javascript

<head>
<script type="javascript">
function display()
    {
        document.getElementById("textField1").value = "abc";
    }
</script>
</head>
<body>

<form id="form1" action="http://google.com">

<input id="textField1" type="text" value="0" align="right" size="13"/><br>

<input id="button1" type="button" value="1" onclick="display()">
</form>
</body>

mais la valeur de textfield ne change pas.

Des idées que fais-je mal ??

11
Bugs Happen

essayer

<script type="text/javascript">

au lieu de

<script type="javascript">

. Je crois que ce dernier n'est pas une syntaxe valide.

La suppression de l'attribut type fonctionne également:

<script>
8
John Dvorak

Supprimez la type de votre balise script. C'est incorrect et empêche le navigateur de traiter le contenu de script comme du code JavaScript. Ici, cela ne fonctionne pas , et ici, cela fonctionne (avec le type="javascript" supprimé).

3
T.J. Crowder

Votre ligne 

document.getElementById("textField1").value = "abc";

est correct, essayez

    <head>
<script>
function display() {
        document.getElementById("textField1").value = "abc";
    }
</script>
</head>
<body>

<form id="form1" action="http://google.com">

<input id="textField1" type="text" size="13" value="clear" /><br>

<input type="button" onclick="display()">
</form>
</body>
3

Il doit être 

<script type="text/javascript">
function display()
    {
        document.getElementById("textField1").value = "abc";
    }
</script>

et pas 

<script type="javascript">
function display()
    {
        document.getElementById("textField1").value = "abc";
    }
</script>
3
defau1t

Si le champ de texte n'a pas d'attribut id et n'a pas d'attribut name,

utilisation 

document.getElementsByName("name")[0].value="ert";

getElementsByName () renvoie un tableau d'objets portant ce nom spécifique, c'est pourquoi nous utilisons l'index 0.

1

C'est en fait correct, mais si ça ne marche pas, essayez comme ça:

document.getElementById("textfield1").innerHtml = "ABC";
0
Footer

Il n'y a rien de mal avec votre code, cela fonctionne très bien dans ce violon

Je spécule seulement, mais vous pouvez essayer de supprimer l'attribut type du script-tag ou de le remplacer par type="text/javascript", qui serait le type approprié. Si vous ne le spécifiez pas, le navigateur le considérera comme JavaScript par défaut.

0