jQuery .submit() メソッドを使用してフォームを送信しようとしています。IE8 標準モードを除くすべてのブラウザーで動作します。もちろん、これは私がサポートしなければならないブラウザーです。これが私のコードです:
$("button.submit").on('click', function (){
if($(this).hasClass('disabled'))
{
$("div.alerts").html("<h3 class='error'>You do not have sufficient permissions for this action</h3>").fadeIn().delay(2000).fadeOut();
return false;
}
var passed = true;
$('.required').each(function(){
console.log('validating required elements');
if(!$(this).val() || $(this).val() == 0 || $(this).val() == '')
{
$("div.alerts").html("<h3 class='error'>Required Information is missing. Please enter the " + $(this).attr('name') + " field").fadeIn().delay(2000).fadeOut();
$(this).on('keyup click', function(){$(this).css('background-color', '#fff');});
$(this).css('background-color', 'red').focus();
passed = false;
return false;
}
});
if(passed)
{
console.log('saving');
$("form#editTemplate").submit();
}
フォームは次のとおりです。
<form id = 'edittemplate' ENCTYPE="multipart/form-data" method = "POST" action ="somefile.php" >
<ul>
<span class='left'>
<li>
<label>Title</label>
<span class='formElement'><input type='text' name='name' class='required' value = 'example'/></span>
</li>
<li>
<label>Description</label>
<span class='formElement'><input type='text' name='description' class='required' value = 'example' /></span>
</li>
<li>
<label>Subject</label>
<span class='formElement'><input type='text' class='required' name='templatesubject' value = 'example'/></span>
</li>
<li>
<label>CID</label>
<span class='formElement'><input type='text' name='c2ktemplateid' value = '509' readonly="readonly"/></span>
</li>
<li>
<label>Attachments</label>
<span class='formElement'><input type='file' name='attachment' id='attachment' /></span>
</li>
</span>
</ul>
</form>
ページに非表示のフォームが複数あります(jqueryモーダルフォームの場合)。入力ボタンが機能しないことはわかっていますが、送信をクリックすることさえできません。さらに、コンソールを見ると、送信イベントが「保存」されるだけで発生しません。ご協力いただきありがとうございます。