[英]Setting Values of textboxes that were created using Javascript
我有一種使用javascript制作文本框的形式。 基本上,我給了一個按鈕,然后使用該按鈕的Onclick來添加一個使用Javascript的文本框。 這些值然后在服務器端的字符串中獲取,並存儲在不同的List列中。
現在,我要創建“編輯功能”。 因此,我必須從列表列中檢索值並將其插入到文本框中。 當我的控件是服務器控件時,這很容易,但是對於使用Javascript創建的文本框,我該如何做呢。
我是客戶端腳本的新手。 任何幫助將不勝感激。
我需要的是一種從列表列中獲取值,然后使用這些值再次創建這些文本框的方法。
PS:請告知您是否要查看我如何創建文本框並在服務器端獲取這些值的代碼。 謝謝!
用於創建文本框的Javascript代碼:
<script type="text/javascript">
function GetDynamicTextBoxB(value)
{ return '<input name = "DynamicTextBoxB" type="text" value = "' + value + '" />' + '<input type="button" value="Remove" onclick = "RemoveTextBoxB(this)" />' }
var y = 0;
function AddTextBoxB() {
if (y < 10) {
var div = document.createElement('DIV'); div.innerHTML = GetDynamicTextBoxB(""); document.getElementById("TextBoxContainerB").appendChild(div);
}
else {
alert("Only 10 CSPs can be added")
} y++
}
function RemoveTextBoxB(div)
{ document.getElementById("TextBoxContainerB").removeChild(div.parentNode); }
function RecreateDynamicTextboxesB() {
var values = eval('<%#Values%>');
if (values != null) {
var html = ""; for (var i = 0; i < values.length; i++)
{ html += "<div>" + GetDynamicTextBoxB(values[i]) + "</div>"; } document.getElementById("TextBoxContainerB").innerHTML = html;
}
}
$("#tabs-1").ready(RecreateDynamicTextboxesB);
// // window.onload = RecreateDynamicTextboxesB;
</script>
后台代碼以在服務器端獲取這些值並存儲在列表列中
string PartyACSP1 = string.Empty, PartyACSP2 = string.Empty, PartyACSP3 = string.Empty, PartyACSP4 = string.Empty, PartyACSP5 = string.Empty, PartyACSP6 = string.Empty, PartyACSP7 = string.Empty, PartyACSP8 = string.Empty, PartyACSP9 = string.Empty, PartyACSP10 = string.Empty;
if (textboxValues != null)
{
PartyACSP1 = safeGetString(textboxValues, 0);
PartyACSP2 = safeGetString(textboxValues, 1);
PartyACSP3 = safeGetString(textboxValues, 2);
PartyACSP4 = safeGetString(textboxValues, 3);
PartyACSP5 = safeGetString(textboxValues, 4);
PartyACSP6 = safeGetString(textboxValues, 5);
PartyACSP7 = safeGetString(textboxValues, 6);
PartyACSP8 = safeGetString(textboxValues, 7);
PartyACSP9 = safeGetString(textboxValues, 8);
PartyACSP10 = safeGetString(textboxValues, 9);
}
newISDAAgreement[Constants.PartyACSPColumn] = PartyACSP1;
newISDAAgreement[Constants.PartyACSP2Column] = PartyACSP2;
newISDAAgreement[Constants.PartyACSP3Column] = PartyACSP3;
newISDAAgreement[Constants.PartyACSP4Column] = PartyACSP4;
newISDAAgreement[Constants.PartyACSP5Column] = PartyACSP5;
newISDAAgreement[Constants.PartyACSP6Column] = PartyACSP6;
newISDAAgreement[Constants.PartyACSP7Column] = PartyACSP7;
newISDAAgreement[Constants.PartyACSP8Column] = PartyACSP8;
newISDAAgreement[Constants.PartyACSP9Column] = PartyACSP9;
newISDAAgreement[Constants.PartyACSP10Column] = PartyACSP10;
從列表列檢索數據時,您必須具有要為其創建編輯功能的數據映射。 例如假設你有數據
listcolumn = {'data1':123,'data2':234,'data3':345}
因此,您可以循環訪問該數據並創建包含其值的文本框。
for(listcolumn中的鍵){創建一個文本框及其從listcolumn [key]中的值(這將為您提供該特定文本框的值)}
或者,如果對字典不滿意,則可以使用任一種方式,即數據是列表形式
listcolumn = [123,234,345]
for(listcolumn中的數據){創建一個文本框並在其中插入值。 }
但是我會假設您從服務器端到前端使用JSON格式,並且可以使用JSON.parse(data)解析數據。 並且將字典作為對象。
我建議使用不同的體系結構:基因敲除.js(用於客戶端程序),您可以在其中開發MVVM,MVC(作為應用程序類型),Ajax,以將查詢發送到服務器端以進行操作(如加載,保存,等等
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.