2009-07-31 49 views
-1

我有一些問題改變控件名稱動態地在javascript

即我已經在asp網頁我想文本框中的文本爲空,以便60文本框控件,我使用類似下面

var st = document.getElementById("<%=hiddenrate.ClientID%>").value;//Total Control names 

var controlnames = st.split(','); //split with comma 

var i = 0; 
for (i = 0; i <= controlnames.length; i++) 
{ 
    var gh = '' + '.SetText(' + "'Empty text'" + '' + ');'; 

    ft[i] + gh; 

    //example rate1.SetText(''); 

    rate2.SetText(''); 
    ' 
    ' 
    rate60..SetText(''); 
} 

但在JavaScript是那控制名稱和屬性

如何將文本設置爲空的總控制動態?

感謝你,

拉傑什

+0

hiddenrate.value控件ID的逗號分隔列表? – 2009-07-31 04:56:25

+0

嗨matthew crumley, 是的,ids用逗號隔開。我使用aspx DevExpress控件。 可以給你任何解決方案。 – karim 2009-07-31 09:04:17

回答

2

如果你想清除所有文本輸入值使用此代碼:

// get all <input> elements 
var inputs = document.getElementsByTagName('input'); 

for (var i = 0; i < inputs.length; i++) { 
    // check input type 
    if (inputs[i].type === 'text') { 
     inputs[i].text = ''; 
    } 
} 

你可以很容易地修改代碼來處理文字區域,以及或爲元素添加更多的過濾。

如果你考慮使用JS框架,你可以使這個代碼更短。例如,如果你使用jQuery那麼這裏的代碼你:

$(document).ready(function() { 
    $('input:text').text(''); 
}); 
+0

感謝您的答案,但它不適用於ASPX控件屬性 以及document.getElementsByTagName('input');不支持aspx 你可以給aspx控件的代碼嗎? – karim 2009-07-31 05:34:38

1

這裏是另外一個樣本清晰的價值的所有文本框:

<script type="text/javascript"> 
    function pp(){ 
      for(p in form1.childNodes) { 
       if(form1.childNodes(p).type=="text") 
        form1.childNodes(p).value=""; 
      } 
    } 
</script> 

<body> 
    <form name="form1"> 
     <input type="text" name="a1"/> 
     <input type="text" name="a2"/> 
     <input type="text" name="a3"/> 
     <input type="button" name="a11"/> 
     <input type="submit" name="a12"/> 
     <input type="button" value="Clear" onclick="pp()" name="a13"/> 

    </form> 
</body> 
0

感謝你我所得到的解決方案如下方法 var i = 0; 爲(I = 0;我< = ft.length;我++){

   x = new Object(); 
       x = ft[i]; 
       propertyName = ".SetText"; 
       propertyValue = " "; 
       if(x !="undefined") 
       eval(''+x+'' + propertyName + "('" + propertyValue + "');"); 
       or 

       eval(x).SetText(''); 
      } 

thnks至所有。