1

アップロードしたファイルを JavaScript メソッドのパラメーターとして渡しています。すると、Firebug が のようなエラーをスローしますSyntaxError: illegal character

<input type="file" id="fileUpload" name="employerLogoUpload" />

<a id="_fileUploadLink" href="#" onClick="javascript:ajaxFileUpload(" +document.getElementById('fileUpload').value+ ");">Upload</a>

私を助けてください。

4

2 に答える 2

2

インライン イベント属性を使用する場合は、onclickハンドラーを次のように変更します。

onClick="ajaxFileUpload(document.getElementById('fileUpload').value);"

クリックすると、ajaxFileUpload()関数が呼び出され、要素の現在の値が渡されfileUploadます。

あなたのonclickは次のようになりました:

onClick="javascript:ajaxFileUpload("

...そして+document.getElementById('fileUpload').value+ ");"その後は onclick の一部ではありませんでした - 属性は終了引用符で終わります。javascript:(また、インライン イベント ハンドラー内のパーツは必要ありません。)

ただし、質問に jQuery のタグを付けているため、インライン コードが失われ、要素の後のスクリプト ブロックやドキュメント準備済みハンドラーに次のコードを追加する可能性があります。

$("#_fileUploadLink").click(function(e) {
    ajaxFileUpload($("#fileUpload").val());
    e.preventDefault();
});

.preventDefault()リンクをクリックしたときにブラウザがドキュメントの先頭に移動するのを止めるためにあります。

于 2012-12-12T09:56:04.893 に答える
1
function ajaxFileUpload(val){
   ...
}

$(document).ready(function(){

   $('a#_fileUploadLink').on('click', function(){

       var val = $('#fileUpload').val();  

       ajaxFileUpload(val);

   });

});
于 2012-12-12T09:47:50.077 に答える