2012-12-11 25 views
0

我有兩個輸入字段。首先是用戶在任何文本中寫入的字段(例如產品名稱),另一個字段是產品名稱的「別名」字段,當用戶寫入產品名稱時,它會自動實時自動創建。它完成與JavaScript,所以我的問題是如何添加一些JavaScript代碼,以添加一些隨機代碼,如(aSDAS55AD546)在每個別名的末尾。使用javascript在輸入框中添加隨機代碼

下面是代碼:

輸入字段:

商品名:

<input id="asd" onKeyUp="keypress()" name="editname_<? echo $languages[$i][0]; ?>[<? echo $key; ?>]" type="text" value="<? echo $item['name'][$languages[$i][0]];?>" /> 

別名字段:

<input name="editalias[<? echo $key; ?>]" id="sdf" onFocus="javascript:stripspaces(this)" readonly="readonly" type="text" value="<? echo $item['alias'];?>" /> 

,這是JavaScript代碼:

<script type="text/javascript"> 

function keypress() 
{ 
var txt=document.getElementById('asd').value; 
str1 = " \",'!=:;\йцукенгшщзхъжэдлорпавыфячсмитьбюЙЦУКЕНГШЩЗХЪЭЖДЛОРПАВЫФЯЧСМИТЬБЮăîșțĂÎȘȚ"; 
str2 = "00000000icukengsszhijedlorpavifacsmitibuICUKENGSSZHIEJDLORPAVIFACSMITIBUaistAIST"; 
for(i=0; i<str1.length; i++) 
    { 
txt = txt.replace(new RegExp(str1[i],"g"), str2[i]); 
} 

document.getElementById('sdf').value=txt; 
} 
</script> 


<script type="text/javascript"> 
$().ready(function(){ 
    $("input#asd").keyup(removeextra).blur(removeextra); 
}); 
function removeextra() { 
    var initVal = $(this).val(); 
    outputVal = initVal.replace(/[^0-9a-zA-Zа-яА-Я\s'",!ăîșțĂÎȘȚ]/g,"");  
    if (initVal != outputVal) { 
     $(this).val(outputVal); 
    } 
}; 
</script> 

這個javascript節省了我很多時間。我的網站是針對俄羅斯的,它也翻譯成俄文到英文字母。

那麼請我如何使別名的隨機代碼?

在此先感謝!

+0

name field: [<?echo $ key;?>] 「type =」text「value =」<?echo $ item ['name'] [$ languages [$ i] [0]];?>「/> – user1890185

+0

您應該在jsfiddle.net上創建一個示例來演示您的問題。 – jbabey

+0

該代碼應該是唯一的還是隨機的?如果沒有必要有唯一的代碼,只是隨機的,比看看這裏:http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript。 Othwerise最好將其添加到服務器上 –

回答

0

下劃線庫有一個功能就是爲了這個目的。我強烈推薦的庫,但如果你只是想一個功能的邏輯它本質上只是:

var idCounter = 0; 
function uniqueId(prefix) { 
    var id = idCounter++; 
    return prefix ? prefix + id : id; 
}; 

有了,你可以這樣做:

var aliasOfFoo = uniqueId(originalFoo); 

現在,如果你需要爲後綴是隨機的事情有點棘手。你不需要一個idCounter,你需要一個idArray來存儲所有以前生成的隨機字符串,然後在uniqueId裏面,你想繼續生成隨機字符串,直到找到一個不在idArray中的字符串。