私はこれを何度も何度も行ってきたので、誰かが間違いを見つけてくれることを期待してこれを投げています。約10分間は正常に動作していましたが、その後壊れました。
私は、3つのフィールドを持つ非常に単純な連絡フォームを備えたcodeigniterWebサイトを持っています。isHappy.jsを使用してフォームを検証し、サーバーに送信しています。isHappy.jsは、フォームが検証されるまでAJAX関数を停止する必要がありますが、この部分は発生しません。フォームに入力せずに送信ボタンをクリックすると、検証エラーが点滅しますが、ajax呼び出しが行われ、フォームが送信されます。
ここにJavascriptがあります:
$(function() {
$('#contact-form').isHappy({
fields: {
'#email': {
required: true,
message: 'How can I reach you sans email??'
},
'#subject': {
required: true,
message: 'Can you give me a clue to what you inquiring about please'
},
'#body': {
required: true,
message: 'More details please....'
}
}
});
$('#contact-form').bind('submit', function(e) {
e.preventDefault();
var query_params = $('#contact-form').serialize();
$.ajax({
type: 'POST',
url: 'http://website.dev:8080/contact/email/ajax',
data: query_params,
dataType: 'json',
success: function(string){
$('#contact-form').fadeOut('medium', function() {
$('#linkedin').after("<div style=\"clear:both;\" /><div id=\"contact-complete\" stlye=\"width:100%;height:200px;\"><h1>"+string+"</h1></div>").fadeIn('medium');
});
}
});
});
});
そしてHTML:
<form action="http://website.dev:8080/contact/email" method="post" accept-charset="utf-8" id="contact-form">
<div class="contact-input">
<input type="text" name="email" id="email" placeholder="Your email" value="" />
</div>
<div class="contact-input">
<input type="text" name="subject" id="subject" placeholder="Subject" value="" />
</div>
<div class="contact-textarea">
<textarea rows="10" placeholder="How can I help you?" name="body" id="body"></textarea>
</div>
<input type="submit" value="Send" id="contact-click" />