私はコーディングが苦手です。Colorboxを使用して、自分のページの1つを表示しようとしています。このページにはお問い合わせフォームがあります。残念ながら、このページをColorboxで開いて送信ボタンをクリックすると、残念ながらColorboxが閉じます。(私は本当に理解していませんが、おそらくColorboxはajaxリクエストではなく単純なhttpリクエストを作成しますか?)
要約すると、カラーボックスを使用して連絡フォームを表示したいのですが、機能させるのに問題があります。
私の連絡フォームphp:
<div class="text">
<div class="contacter_head" style="border-bottom:1px dotted #ccc; color:#124C7A">Contact form!</div>
<form id="contactform" name="contactform" method="post" action="submit_contact.php">
<div class="my_left_box">
<p>name * </p>
<input type="text" name="name" value="<?php echo $_SESSION['post']['name']?>" id="name" class="validate[required,custom[onlyLetter]]" />
<p>Email* </p>
<input type="text" name="email" value="<?php echo $_SESSION['post']['email']?>" id="email" class="validate[required,custom[email]]" />
<p>subject </p>
<input type="text" name="subject" value="<?php echo $_GET['sbject'];?>" />
<p>Phone</p>
<input type="text" name="phone" value="<?php echo $_SESSION['post']['phone']; unset($_SESSION['post']['phone']);?>" id="phone" class="validate[onlyNumber]" />
<p>Captcha</p>
<label for="captcha_contact"><?=$_SESSION['n1']?> + <?=$_SESSION['n2']?> =</label><input type="text" class="validate[required,custom[onlyNumber]] captcha_aj" name="captcha" id="captcha" />
</div>
<div class="my_right_box">
<p>Message</p>
<textarea name="message" id="message_aj" rows="6" cols="5" class="validate[required]"><?=$_SESSION['post']['message']?></textarea>
<input type="submit" name="button" value="Submit" id="button" class="button medium"/>
<?=$str?> <img id="loading" src="images/ajax-load.gif" width="16" height="16" alt="loading" />
</form>
<?=$success?>
<div id="errOffset"> </div>
</div>
</div>
これは私のajaxスニペットであり、連絡先フォームphpを直接開いた場合にうまく機能します。
var use_ajax=true;
$.validationEngine.settings={};
$("#contactform").validationEngine({
inlineValidation: false,
promptPosition: "centerRight",
success : function(){use_ajax=true},
failure : function(){use_ajax=false;}
})
$("#contactform").submit(function(e){
alert("itt");
if(use_ajax)
{
$('#loading').css('visibility','visible');
$.post('submit_contact.php',$(this).serialize()+'&ajax=1',
function(data){
if(parseInt(data)==-1)
$.validationEngine.buildPrompt("#captcha","* Captcha error","error");
else
{
$("#ajanlat-form").hide('slow').after('<h1>Thank you,.</h1>');
}
$('#loading').css('visibility','hidden');
}
);
}
e.preventDefault();
})