ファイルをアップロードし、ページ上のiframeをターゲットとするフォームがあります。ユーザーが「送信」をクリックすると、ファイルの内容が「消去」されます。
私はこれを試しました
$('#imageaddform').submit(function(){
$('#imagefile').val('');
});
ただし、送信前にフォームがクリアされるため、アップロードされるものはありません。
送信後にクリアするにはどうすればよいですか?
他のハンドラがバインドされていない場合、次のようなことができます。
$('#imageaddform').submit(function(e) {
e.preventDefault(); // don't submit multiple times
this.submit(); // use the native submit method of the form element
$('#imagefile').val(''); // blank the input
});
Lonesomedayのソリューションはうまくいきましたが、Googleの場合はChromeのようにタイムアウトを追加しない限り、空のフォームデータを送信し続けることがわかりました。
$('#imageaddform').submit(function(e) {
e.preventDefault(); // don't submit multiple times
this.submit(); // use the native submit method of the form element
setTimeout(function(){ // Delay for Chrome
$('#imagefile').val(''); // blank the input
}, 100);
});
次のようなことができます:
$('#imageaddform').submit(function(){
setTimeout(function() {
$('#imagefile').val('');
},100);
});
フォームの送信方法は?これが通常のフォームポストである場合、その場合ページは存在しません。ページが更新される前にフォームをクリアして、ユーザーが戻ったときに値が表示されないようにするのかどうか疑問に思っています。
フォームがajaxによって送信された場合、次のことができます
function(){
$('form1')[0].submit();
clearForm();
}
質問を見逃しましたか?