2017-02-10 32 views
0

想要在角度输入框中创建自动生成代码在刷新页面 像兰特(函数)在PHP中。我使用这个脚本。但是问题 在页面刷新时消失,无法正常工作。如何在角度创建自动生成ID?

<script type="text/javascript"> 
    function randString(x){ 
    var s = "OL-"; 
    while(s.length<x&&x>0){ 
     var r = Math.random(); 
     s+= (r<0.1?Math.floor(r*100):String.fromCharCode(Math.floor(r*26) + (r>0.5?97:65))); 
    } 
    return s; 
} 
document.getElementById("referal_code").value = randString(10); 
</script> 

<input required type='text' class='span2' id='referal_code' ng-model='empInfo.referal_code'> 

回答

0

试试这个

<!DOCTYPE html> 
 
<html> 
 
<head> 
 
    <script type="text/javascript"> 
 

 

 
     function getNewID() { 
 
      try { 
 
       var myDate = new Date(); 
 
       var varID = myDate.getHours() + "" + myDate.getMinutes() + "" + myDate.getSeconds() + "" + myDate.getMilliseconds(); 
 
       if (varID.Length > 15) { 
 
        varID = varID.substr(0, 15); 
 
       } 
 
       return varID; 
 
      } catch (e) { 
 
       console.log(e.message); 
 
      } 
 
     } 
 

 
     function randString(x){ 
 
      var s = getNewID(); 
 
      return s; 
 
     } 
 
     window.onload = function(){ 
 
      document.getElementById("referal_code").value = randString(10); 
 
     } 
 
    </script> 
 
</head> 
 
<body> 
 
    <input required type='text' class='span2' id='referal_code' ng-model='empInfo.referal_code'> 
 
</body> 
 
</html>

+0

它在页面加载n在几秒钟内disappers –

+0

运行在这里它不是无用的, –

0

试试这个

<script type="text/javascript"> 


function getNewID() { 
      try { 
       var myDate = new Date(); 
       var varID = $scope.coID + "" + myDate.getHours() + "" + myDate.getMinutes() + "" + myDate.getSeconds() + "" + myDate.getMilliseconds(); 
       if (varID.Length > 15) { 
        varID = varID.substr(0, 15); 
       } 
       return varID; 
      } catch (e) { 
       console.log(e.message); 
      } 
     } 

    function randString(x){ 
    var s = "OL-"; 
    while(s.length<x&&x>0){ 
     var s = getNewID(); 
    } 
    return s; 
} 
document.getElementById("referal_code").value = randString(10); 
</script> 
+0

不工作的兄弟。与此脚本没有什么是在输入框 –

0

对于角世界上的任何属性,你可以使用插值是这样的:

<input id="{{randString(10)}}"/> 
0

如果你想有一定的价值为ID,而不是刷新后丢失,必须将其保存在某个网络存储(localstorage,sessionstorage)上。

例如:

function randString(x){ 
// ... your function's logic 

//Save it in localStorage before returning it 
localStorage.inputId = s; 

return s; 
} 

document.getElementById("referal_code").value = localStorage.inputId || randString(10) 
+0

我使用此代码,但不工作 –