2013-04-25 61 views
0
提出兩個相關字段

這段代碼像在Facebook中 正在發生變化的用戶名我有這個代碼的問題:如何通過jQuery的

$(function(){ 
var uid = 1; 
var name_available=0; 
var password_ok=0; 
$('#name,#password').bind('keyup',function(){ 
    var name = $('#name').val(); 
    var password = $('#password').val(); 

    if(/[^a-zA-Z_\.0-9]+/.test(name)){ 
     $('#result').html('Invalid Charcters'); 
     name_available = 0; 
    }else{ 
    $.ajax({ 
     url: 'check_user.ajax.php', 
     type: 'POST', 
     data: 'name='+name, 
     success: function(data){ 
     if(data){ 
       $('#result').html('available'); 
       name_available = 1; 
     }else{ 
       $('#result').html('not available'); 
       name_available = 0; 
     } 
     } 
    }); 
    } 
    $.ajax({ 
     url: 'check_user.ajax.php', 
     type: 'POST', 
     data: 'uid='+uid+'&password='+password, 
     success: function(data){ 
     if(data){ 
       $('#result2').html('true'); 
       password_ok = 1; 
     }else{ 
       $('#result2').html('false'); 
       password_ok = 0; 
     } 
     } 
    }); 

    if(name_available === 1 && password_ok === 1){ 
     $('#save').removeAttr('disabled'); 
    }else{ 
     $('#save').attr('disabled','disabled'); 
    } 
}); 
}); 

和HTML代碼是:

username:<input type="text" name="name" value="" id="name" /><span id="result"></span><br /> 

password:<input type="password" name="password" value="" id="password" /><span id="result2"></span><br /> 

<input type="submit" name="save" value="save changes" id="save" disabled /><br /> 

和ajax.php Oage是:

include 'config.php'; 

if(isset($_POST['name'])){ 
$name = $_POST['name']; 
    if(!empty($name)){ 
    $sel = mysql_query("SELECT `id` FROM `users` WHERE `name`='$name'"); 
    $num = mysql_num_rows($sel); 
    if($num > 0){ 
     echo false; 
    }else{ 
     echo true; 
    } 
}else{ 
    echo false; 
} 
}else{ 
echo false; 
} 

if(isset($_POST['password']) && isset($_POST['uid'])){ 
$uid  = $_POST['uid']; 
$password = md5($_POST['password']); 
$sel  = mysql_query("SELECT `id` FROM `users` WHERE `id`='$uid' AND `password`='$password'"); 
$num  = mysql_num_rows($sel); 
if($num < 1){ 
    echo false; 
}else{ 
    echo true; 
} 
}else{ 
echo false; 
} 

該代碼的作品,但不是所有的時候更改用戶名或pa ssword然後更改用戶

請幫助我,它對我很重要。

+0

我的代碼是用來檢查用戶名是否可用,如果用戶名可用,並且他在這種情況下鍵入他的(舊)密碼true,則從提交按鈕中刪除屬性「disabled」 - 如果你不明白去你的Facebook帳戶>> acouunt設置>>用戶名 – 2013-04-25 04:07:22

回答

0

如果我沒有弄錯,你正試圖檢查用戶名是否已被使用,並暗示用戶輸入另一個。

我在我的項目中有一個類似的實現,它檢查ID是否已經被使用並提示用戶輸入另一個ID。請參見下面的代碼:

 var checkIndicatorId = function() { 
     var indId = { 
      'Id': $('#IdDescriptor').val() 
     }; 

     $('#spnConfirmation img').remove(); **//removes the x or check image** 
     $('#spnConfirmation').append('<img class="icon" src="/CSS/Contents/loader.gif" title="Checking for availability.">'); 

     $.ajax({ //ajax call for checking data on the server 
      url: 'http://localhost:54004/Cd/CheckIndicatorId', 
      data: indId, 
      type: 'GET', 
      contentType: 'application/json;charset=utf-8' 

     }).success(function (result) { **// on success do this** 
      if (result == true) {  **if id is available** 
       $('#spnConfirmation img').remove(); 
       $('#spnConfirmation').append('<img class="icon" src="/CSS/Contents/check.png" title="Id is available.">'); 
      }else {    **//if is is already taken** 
       $('#spnConfirmation img').remove(); 
       $('#spnConfirmation').append('<img class="icon" src="/CSS/Contents/error.png" title="Id is not available. Please enter another one.">'); 
      } 
     }).error(function() { 

     }); 
    }; 

新增: 後端代碼:

  var context = new MyContext(); 
      var result = context.Cd.Count(x => x.IdDescriptor == id); 
      if (result < 1) 
      { 
       return Json(true, JsonRequestBehavior.AllowGet); //this is where the result is thrown back to the front end 
      } 
      else 
      { 
       var recommendedId = context.Cd.OrderByDescending(x => x.IdDescriptor + 1).FirstOrDefault(); 
       return Json(recommendedId, JsonRequestBehavior.AllowGet);//this is where the result is thrown back to the front end 
      } 

如果你有一些說明或問題,請刪除一個評論,我會很樂意幫助。

+0

我的代碼是用來檢查用戶名是否可用,如果用戶名可用,並且他在這種情況下鍵入他的(舊)密碼true,則從提交按鈕中刪除屬性「disabled」 – 2013-04-25 04:05:24

+0

你可以做的是遵循與我發佈的相同的模式。正如你所看到的,如果id已經被使用,我已經通過ajax進行了檢查。你可以在你傳遞用戶密碼的地方做類似的ajax調用,然後如果控制器返回true,則執行$('#submit')。removeAttr('disabled')。這是假設它已經第一次被禁用了。 – KevinIsNowOnline 2013-04-25 07:40:59