ユーザー確認用の簡単な html フォームがあります。ユーザーが登録すると、次のGET
ように変数が添付されたこのページへのリンクが送信されます。http://mysite/confirm?code=xyz123
すべてのフォーム検証に jquery 検証プラグインを使用しています。
私はこの検証コードを持っています:
<script type="text/javascript" language="javascript">
$(document).ready(function(){
$('#confirm').validate(
{rules: {
code: {
required: true,
minlength: 32,
maxlength: 32
}
},
messages: {
code: {
required: "Please enter the confirmation code",
minlength: "Confirmation code is {0} characters",
maxlength: "Confirmation code is {0} characters"
}
},
submitHandler: function(form){
$.get("confirmnewuser.php",
$('#code').val,
function(data){
if(data.status == 0){
$('#message').append("<span class='error'>Error: " + data.message + "</span>");
}
else{
$('.container').hide();
$('.short_explanation').hide();
$('#message').append("<span>" + data.message + "</span>");
}
},
"json");
}
});
});
</script>
次のように簡単に実行できるGET['code']
変数が設定されているかどうかをテストしたいと思います。
var $_GET = <?php echo json_encode($_GET); ?>;
しかし、現時点では、これを既存の検証コードに追加する場所がわかりません。また、フォーム送信ハンドラーを呼び出す方法もわかりません (jquery/javascript は初めてです)。
または、GET
変数が設定されていない場合、ページは通常どおり読み込まれ、ユーザーは入力ボックスにコードを入力できます。
編集:フォームコードを追加
<form id='confirm' method='get' accept-charset='UTF-8'>
<div class='short_explanation'>* required fields</div>
<div id='message'></div>
<div class='container'>
<label for='code' >Confirmation Code:* </label><br/>
<input type='text' name='code' id='code' maxlength="32" /><br/>
</div>
<div class='container'>
<input type='submit' name='submit' id="submit" value='Confirm' />
</div>
</form>