2

ボタンをクリックすると、入力テキストの値を「こんにちは」に変更したいのですが、うまくいかないようです。これが私のコードです。長所は私が本当に初心者であることを助けてください、事前に感謝します!

<script type="text/javascript">
function selectfile(){
    document.uploadform.selectfile.value='hello';
}
</script>


<body>
<form name="uploadform" id="uploadform">
    <input type="text" name="selectfile" id="selectfile" value="Hi"/>
    <input name="upload_file" type="button" onClick="selectfile()" value="Button"/>
</form>
</body>
4

2 に答える 2

2

私がjsfiddleに載せたこの例を見てください:

function selectfile() {
    var form = document.forms['uploadform'];
    form.elements["selectfile"].value = 'Hello';
}

var uploadButton = document.getElementById("upload-button");
uploadButton.addEventListener("click",selectfile);

ハンドラー関数では、最初にフォームを取得してidから、要素の値を名前selectfile(入力要素)で設定します。ボタンのイベントリスナーは、を使用して追加されますaddEventListener

コードの問題は、関数と要素の両方を呼び出したことですselectfile。そのため、「selectfileは関数ではありません」というエラーが発生します。それらの1つに名前を変更すると、機能します。

于 2012-07-21T20:55:25.957 に答える
1

それは機能しているはずです。それはあなたが使用している完全なHTMLですか?その場合は、タグを閉じる必要があります。次のようになります。

<html>
<head>
    <script type="text/javascript">
    function selectfile(){
    document.uploadform.selectfile.value='hello';
    }
    </script>
</head>


<body>
    <form name="uploadform" id="uploadform">
        <input type="text" name="selectfile" id="selectfile" value="Hi"/>
        <input name="upload_file" type="button" onClick="selectfile()" value="Button"/>
    </form>
</body>
</html>
于 2012-07-21T20:55:13.913 に答える