国際化するために、私は偽のボタン技術を使用しました。偽のボタンを試してみると、フォームが送信されないことを除いてすべてうまくいきます。
実際の参照ボタンをクリックしてファイルを選択したときにのみ送信されます。
誰かがこの振る舞いに光を当てることができますか?
<html>
<script>
function triggerFileUpload()
{
try{
document.getElementById("theFile").click();
}catch(e){
alert(e);
}
}
function setHiddenValue()
{
document.getElementById("dummyField").value = document.getElementById ("theFile").value;
}
</script>
<body>
<div id="dummyDiv">
<form action="http://www.google.com">
<input type="Text" disabled="disabled" class="inputField" id="dummyField"/>
<input type="button" class="inputField" value="Buscar Archivo" onclick="triggerFileUpload()"/>
</div>
<div id="uploadDiv" style="display: block;">
<input type="file" id="theFile" name="theFile" onchange="setHiddenValue()"/>
</div>
<input type="submit" value="submit"/>
</form>
</body>
</html>