2013-02-22 62 views
0

我有这些文本输入,它们在文档加载中预加载用户信息。我的输入HTML如下Jquery在输入文本中预加载值并更新它们

<div class="control-group"> 
    <label class="control-label" for="first_name">First Name</label> 
    <div class="controls"> 
     <input type="text" class="account" id="first_name" placeholder="First Name"> 
    </div> 
</div> 
<div class="control-group"> 
    <label class="control-label" for="inputEmail">Email</label> 
    <div class="controls"> 
     <input type="text" class="account" id="inputEmail" placeholder="Email"> 
    </div> 
</div> 

我的预加载就像这样在jquery中,其中它执行php函数$ .post。这可以正常填充输入元素。

function loadUserInfo() 
{ 
    $.post('../accounts/load_user_info_ajax', null, function(data) { 
     console.log(data.message);//Test to return user id 

     var user = data.message; 

     $('#inputEmail').val(user.email); 
     $('#first_name').val(user.name); 

    }, 'json'); 
} 

但是有一个BTN更新中,当我点击,它发出了一个$。员额到另一个功能。 jQuery的是如下

$('.update').on('click',function(){ 

    var type = $(this).attr('id'); 

    if(type == "account") 
    { 
     postvars = { 
       name:$('#first_name').val(), 
       email : $('#inputEmail').val(), 
      }; 
     url = '../accounts/update_user_account_ajax'; 
    } 

    $.post(url, postvars, function(data) { 

     console.log(data);//Test to return user id 
     alert(data.message); 
     var user = data.message; 

    }, 'json'); 
}); 

因为一开始我只是返回

function update_user_account_ajax() 
{ 
    if ($this->input->is_ajax_request()) { 

     echo json_encode("test"); 
    }else { 
     show_404(); 
    } 
} 

但什么也没有发生,我无法看到铬调试网络什么为好。页面刷新以及附加一个?给你。先谢谢您的帮助。我使用codeigniter为我的PHP。

回答

1

为@Joel_Blum说,也这样做: 你应该在功能on('click',function(){ ...体的末尾添加return false;,防止重新加载页面。

0

试试这个

url : '<?php echo site_url("accounts/update_user_account_ajax")?> 
相关问题