私は次のJSコードを持っています:
var forma = $('form#mali_oglas'),
pomoc = $('div[role=pomoc]'),
div = $('.mali_oglas_pomoc'),
input = forma.find('input, textarea'),
code = forma.find('#code');
input.on('click', function(){
var name = $(':input:focus').attr("name");
pomoc.fadeOut('slow').promise().done( function(){ div.find("[data-pomoc='" + name + "']").fadeIn('slow'); });
});
code.on('focusout', function(){
console.log(code.val());
$.ajax({
type: 'POST',
url: '<?php echo base_url() ?>global_info/gi_get_ad_payment_code',
data: 'code=' + code.val(),
success: function(){
for(i = 1; i<=4; i++)
{
code.after('<label for="image' + i +'">Slika</label><input type="file" name="userfile" id="image' + i +'" />');
}
code.after('<input type="hidden" name="time" value="' + time + '"');
},
error: function(){
alert('nije uspeh');
}
}); /* KRAJ NA AJAX */
});
およびコードイグナイター機能:
function gi_get_ad_payment_code()
{
$q = $this->db->get_where('code_payment', array('code' => $_POST['code']));
if ($q->num_rows() == 0 ){
return FALSE;
} else
{
return TRUE;
}
}
問題は次のとおりです: codeigniter 関数が false を返す場合でも、常に成功します。また、成功時に入力フィールドを1回だけ追加するには、この関数が必要です(現時点では、すべてのフォーカスアウトに追加されています)。問題はどこにありますか、何が間違っていますか?