ウェブサイトのいくつかのページのサイドバーにフォームがあります
<form id="test1" name="test1">
<label for="fname">First Name:</label>
<input type="text" name="fname" id="fname" />
<label for="lname">Last Name:</label>
<input type="text" name="lname" id="lname" />
<label for="comment">Comment:</label>
<textarea name="comment" id="comment"><textarea/>
<input type="submit" />
</form>
私の要件は奇妙なものです。誰かがフォームに (部分的にでも) 記入し、現在のページを離れた場合 (他のページに移動するか、ブラウザのタブ/ウィンドウを閉じることにより)、フォームを送信する必要があります。
私は以下を達成するために次のjQueryコードを入れています:
<script>
$(window).bind('beforeunload', function(){
$('form').each(function(index) {
var filled = false;
$(this).find("input").each(function() {
if ($(this).val() != "") {
filled = true;
}
});
if (filled) { this.submit(); }
});
return confirm('test');
});
上記のコードが正しく機能していないため、フォームが送信されません。助けてください。