PDA

View Full Version : حرفه ای: ایجادجعبه متن ها با عرض مشخص به صورت پویا و دریافت مقادیر آنها



mhn_namak
چهارشنبه 04 فروردین 1389, 16:15 عصر
با سلام و تبریک عید نوروز!
من یک همچین کدی رو استفاده کردم چون innerHTML رو تو موزیلا نمی فهمید مجبور شدم برم سراغ HTML DOM و کد زیر کار بالا رو انجام میده تو هر دوی مرورگرها!
مسئله اینه که عرض جعبه ها رو نمی تونم تغییر بدم! و اینکه نمی دونم تو #C پشت ASP.net ام چطور مقادیر رو بگیرم!

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>
<script type="text/javascript">
function addRow(tableID,colsNum)
{
var table = document.getElementById(tableID);
var rowCount = table.rows.length;

var row = table.insertRow(rowCount);
var cell = new Array();
var element = new Array();
for(var i=0;i<colsNum;i++)
{
cell[i] = row.insertCell(i);
element[i] = document.createElement("input");
element[i].type="text";
element[i].width="50px;";
element[i].name=tableID+""+rowCount+""+i;


cell[i].appendChild(element[i]);
}

}



</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<table id="instJob" >
<tr>
<td>
<label>نام مرکز آموزشی </label>
<label> مقطع تحصیلی</label>
<label> رشته تحصیلی</label>
<label> سابقه کار</label>


</td>
</tr>
<tr><td>
<table id="dataTable" border="1">

</table>
</td></tr>




</table>
<input type="button" value="افزودن سطر" onclick="addRow('dataTable',2)" />
<input id="numCall" type="hidden" value="0"/>
</div>
</form>
</body>
</html>



-> ببخشید javaScript رو توی VS05 چطور میشه Debug کرد؟ BreakPoint میذارم اما شکلش رو عوض میکنه وقت اجرا تو اون خط وا نمی ایسته!
-> چطور میشه سورس تولید شده توسط این HTML Dom بالا رو دید! مثلا با ViewSource اون سطرهای اضافه شده دیده نمی شوند!
ببخشید این همه سوال امیدوارم به درد بقیه کاربران سایت بسیار پرمحتواتون هم بخوره سوالام!

exlord
پنج شنبه 05 فروردین 1389, 13:11 عصر
innerHTML رو موزیلا میفهمه فقط اونجوری نمیتونی به table چیزی اضافه کنی.......

element[i].id = 'txt_' + rowCount + '_' + i;


function cw() {
document.getElementById('txt_0_0').style.width = '200px';
}برای debug اسکریپت..........
IE --> Tools --> Internet Options --> Advance --> این 2 تا تیک رو بردار.........
Disable Script Debuging
VS --> Solution Explorer-->روی یکی از صفحات راست کلیک کن و -->Brows With --> Internet Explorer --> set as defult --> cancel
F5


چطور میشه سورس تولید شده توسط این HTML Dom بالا رو دید
function show() {
alert(document.getElementById('dataTable').innerHT ML);
}

exlord
پنج شنبه 05 فروردین 1389, 13:43 عصر
<form id="form1" runat="server" action="Default.aspx" method="post">

<input type="button" value="submit" />


protected void Page_Load(object sender, EventArgs e)
{
HttpRequest req = HttpContext.Current.Request;

foreach (string item in req.Form.Keys)
{
if (item.Contains("txt_"))
{
string txt1 = req[item];
//Do some thing
}
}
}