我正在用 jQuery s AJAX 和 Cocigniter PHP 框架编写签名表,但编码员并不重要,如果你看到怪异的echo form_open ();
或其他怪事,别担心,它们都是编码员。
我用下面的jquery(在php代码中, 其它所有东西都被省略了, 并添加了一个简单的回声问候, 世界! ; 功能, 和它的工作方式/ 向我问好, 世界! ) :
$.post( ajax_signup_username ,function(result){
$(span_error).html(result);
} );
但当我通过其中的一个日志数据时,它不起作用( doesn t 输出任何结果, 注意我使用的是 < number> full PHP 代码 strong > 书面的 < em> below- below em > ):
$.post( ajax_signup_username , {php_username_error:username_value} ,function(result){
$(span_error).html(result);
} );
我尝试了搜索SO,但所提供的解决方案没有解决这个问题。知道什么是错的吗?
<强> 这是完整的代码: 强>
以下是 html 代码 :
<body>
<?php $attr = array( onsubmit => return final_val() ); echo form_open( formValidation/signUp ,$attr); ?>
<p>Username: <input type="text" onBlur="username_val()" value="<?php echo set_value( username )?>" name="username" maxlength="50" /><span name="username_error"><?php echo form_error( username ); ?></p></span>
<p>Email: <input type="text" onBlur="email_val()" value="<?php echo set_value( email )?>" name="email" maxlength="50" /><span name="email_error"><?php echo form_error( email ); ?></p></span>
<p>Password: <input type="password" onBlur="pass_val()" value="<?php echo set_value( pass )?>" name="pass" maxlength="50" autocomplete="off"/><span name="pass_error"><?php echo form_error( pass ); ?></p></span>
<p>Password Confirm: <input type="password" onBlur="pass_val()" value="<?php echo set_value( passconf )?>" name="passconf" maxlength="50" autocomplete="off" /><span name="passconf_error"><?php echo form_error( passconf ); ?></p></span>
<p><input type="submit" value="SIGN UP!" name="signup"/></p>
</form>
</body>
以下是php代码:
function ajax_signup_username(){
$username = $_POST[ php_username_error ];
$uniqueUn = $this->db->prepare("SELECT * FROM iowfiwefwmember WHERE username=:username");
$uniqueUn->bindParam( :username , $username);
$uniqueUn->execute();
$count1 = $uniqueUn->fetch();
if( $count1 == FALSE ){
echo USERNAME AVAILABLE! ;
}else{
echo USERNAME IS ALREADY USED! ;
}
}
以下为注解代码:
function username_val(){
$.ajaxSetup({ cache : false });
username_value = $("input[name= username ]").val();
span_error = "span[name= username_error ]";
//$(span_error).load( ajax_signup_username , {php_username_error:username_value}); <-- also doesn t work [ $.ajaxSetup() is set to POST ]
$.post( ajax_signup_username , {php_username_error:username_value} ,function(result){
$(span_error).html(result);
} );
}