2014-11-14 83 views
0

我有一些(超過千個)用戶堅持使用他們的名字登錄,但系統堅持要有完整的電子郵件地址(名稱+ @ my-mail.com)提供。這是一個聰明的解決方案,可以在不打擾用戶的情況下爲後綴添加後綴?添加後綴到表單字段

的形式爲:

<form id="login_form" action="processing.php" method="post" class="form"> 
    <fieldset> 
    <ul class="input_block"> 
     <li> 
      <input type="text" name="email" id="email" value="" /> 
     </li> 
     <li> 
      <input type="password" name="passwort" id="password" /> 
     </li> 
    </ul> 
    </fieldset> 

我與該領域的關鍵了功能發揮各地,但它並沒有多大幫助。

<script> 
$('#email').keyup(function(e){ 
    if(this.value.length > 12){ 
    this.value = this.value + '@my-mail.com'; 
    if(this.value.indexOf('@my-mail.com') <= 0){ 
    this.value = String.fromCharCode(e.which) + '@my-mail.com'; 
    } 
}); 
</script> 

我認爲操縱場剛剛提交更「正確」的前右向(可惜我沒有訪問到收到提交的PHP文件)。所以我試着用提交功能,這也沒有工作。

<script> 
$("#login_form").submit(function(event) { 
    ("#email").value = ("#email").value + '@my-mail.com'; 
}); 
</script> 

任何人對如何使用提交功能,或者,這似乎是更好的另一種思路來解決它一些建議?

回答

3
$('#email').change(function() { 
    var val = $(this).val(); 
    if(val.indexOf('@my-mail.com') == -1) 
    $(this).val(val+'@my-mail.com'); 
}); 

http://jsfiddle.net/g4oLtfw7/

這如果不是已經輸入值的部分將加上「@ my-mail.com」後綴。如果你想允許其他類型的電子郵件,但默認爲 'my-mail.com' 否則,試試這個:

$('#email').change(function() { 
    var val = $(this).val(); 
    if(val.indexOf('@') == -1) 
    $(this).val(val+'@my-mail.com'); 
}); 
+0

完美解決! – Allinternal 2014-11-14 15:58:48

2

或者:

$('#login_form').submit(function (e) { 
    var email = $('#email'), 
     user = email.val().split('@')[0], 
     domain = '@my-mail.com'; 
    if (email.val().toLowerCase() !== (user + domain).toLowerCase()) { 
     email.val(user + domain); 
    } 
}); 

$('#email').change(function (e) { 
    var email = $(this), 
     user = email.val().split('@')[0], 
     domain = '@my-mail.com'; 
    if (email.val().toLowerCase() !== (user + domain).toLowerCase()) { 
     email.val(user + domain); 
    } 
}); 

是我怎麼會這樣做(強制性小提琴:http://jsfiddle.net/e84v7nat/)。

此方法可確保您的用戶具有指定的域並且該域是正確的。如果用戶名區分大小寫,請刪除對.toLowerCase的呼叫。

+0

這也是一個非常有用的解決方案! – Allinternal 2014-11-14 16:03:46