0

Divをクリックすると、div内のテキストが変更されますが(innerHTMLを使用して行われます)、divのonclick関数も変更したい

これが私のJSコードです

document.getElementById('select_image').onclick = document.upload.submit();

div をクリックすると、非表示のファイル アップロード div をクリックする代わりに (以前はそうでした)、フォームがすぐに送信されます。

ブラウザをもう一度押すと、更新されたテキストで div が表示されます

ありがとう

編集:あまり明確に見えません

div (select_image) があり、それをクリックすると、非表示の入力ファイル要素で JS (.click) が使用されるため、ファイルを選択できます。

この div は onclick="function()" を使用して、その div 内のテキストを変更する関数を実行します。また、onclick イベントを変更して、今度は実際にフォームを送信したいと考えています (非表示のファイル入力をクリックするのではなく)。 ) ファイルが選択されている場合。

onchange="" イベントを使用して、ファイル入力で次の JS 関数を実行しています

function selected_image(image) {
    document.getElementById('select_image').innerHTML = 'click here to upload <span id="selected">' + image.replace('C:\\fakepath\\', '') + '</span>';
    document.getElementById('select_image').onclick = document.upload.submit();
}

<div id="select_image" onclick="document.forms['upload'].elements['image'].click();">click here to select your image</div>

ありがとう

4

1 に答える 1

0

かっこを使用するsubmit();と、関数がすぐに実行されます。ここで、戻り値submitonclickプロパティに代入しようとしています。実用的な解決策は、匿名関数を使用してイベントを処理することです。

document.getElementById('select_image').onclick = function () {
    document.upload.submit();
    return;
}
于 2013-01-06T14:14:06.637 に答える