ورود

View Full Version : سوال: مشکل با تکست باکس در ست شدن مقدار آن با جاوا اسکریپت



mohammad_kazem
دوشنبه 30 دی 1392, 10:27 صبح
با سلام
یه تکست باکس توی صفحه دارم. وقتی روی یک سلول از جدول کلیک میکنم مقدار این سلول توی تکست باکس ست میشه. روی یک سلول دیگه هم که کلیک میکنم مقدار تکست باکس عوض میشه و مقدار سلول جدید توی تکست باکس ست میشه. این کار بدون هیچ مشکلی انجام میشه . ولی اگه مقدار تکست باکس رو بصورت دستی تغییر بدم. دوباره که روی یک سلول از جدول کلیک میکنم دیگه مقدار تکست باکس عوض نمیشه. یعنی با اولین تغییر دیگه اسکریپت ها روی این تکست باکس عمل نمیکنن. البته اسکریپت اجرا میشه ولی روی تکست باکس هیچ تغییری اعمال نمیشه. روی مرورگرهای مختلف هم تست کردم ولی همینجوریه.
دوستان اگه کسی میدونه دلیلش چیه ممنون میشم اگه راهنمایی بکنه
مرسی

Cybersilent
دوشنبه 30 دی 1392, 14:05 عصر
اگر script خودتون رو هم بزارید شاید بشه کمکی کرد.

hakim22
دوشنبه 30 دی 1392, 21:29 عصر
مطمئن بشید که بعد از تغییر دادن مقدار داخل تکست باکس خطایی بوجود نمیاد. معمولا در حالت console خطاهای جاوااسکریپت نمایش داده میشوند.

mohammad_kazem
سه شنبه 01 بهمن 1392, 08:43 صبح
اگر script خودتون رو هم بزارید شاید بشه کمکی کرد.
باشه. فعلا دسترسی به کد ندارم. ولی چشم در اسرع وقت اینکارو انجام میدم


مطمئن بشید که بعد از تغییر دادن مقدار داخل تکست باکس خطایی بوجود نمیاد. معمولا در حالت console خطاهای جاوااسکریپت نمایش داده میشوند.
سلام
میشه راجع به حالت consol بیشتر توضیح بدید؟ اگه منظورتون کنسول فایرفاکس هست که نمیدونم چرا مال من فعال نمیشه. ورژن مرورگرم هم 25 هستش. اگه هم منظورتون کنسول دیگه ای هستش که من نمیدونم.
اگه میتونید یه راهنمایی در مورد استفاده از این ابزار بکنید
با تشکر

Cybersilent
سه شنبه 01 بهمن 1392, 10:42 صبح
با FireBug می تونید کدهای جاوااسکریپت رو خطایابی کنید.
همچنین ابزار Qunit هم برای اینکار مناسب هست:
اطلاعات بیشتر : http://www.dotnettips.info/post/1416/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-qunit-1

mohammad_kazem
پنج شنبه 03 بهمن 1392, 22:25 عصر
این هم اسکریپت
اول روی چند تا سطر کلیک کنید تا از کار کردن کد مطمئن بشید. بعد مقدار یکی از تکست باکس ها رو تغییر بدید . حالا دوباره روی سطرهای جدول کلیک کنید. میبینید که مقدار همون تکست باکس که ویرایش شده دیگه تغییر نمیکنه.
اگه کسی راه حلی داره لطفا کمک کنه
ممنون


<script src="~/Scripts/jquery-1.7.1.min.js"></script>
<script src="~/Scripts/jquery-ui-1.8.20.min.js"></script>
@{
ViewBag.Title = "Index";
}

<h2>Page3</h2>
<script type="text/javascript">
$(document).ready(function () {
$('#tbl tbody tr').click(function () {
document.getElementById('txt1').setAttribute('valu e', $(this).find('td').eq(0).html());
document.getElementById('txt2').setAttribute('valu e', $(this).find('td').eq(1).html());
document.getElementById('txt3').setAttribute('valu e', $(this).find('td').eq(2).html());
});
});
</script>
<div>
<table style="width: 50%; margin: auto" id="tbl">
<thead>
<tr>
<th>ستون اول</th>
<th>ستون دوم</th>
<th>ستون سوم</th>
</tr>
</thead>
<tbody>
@{for (int i = 0; i < 10; i++)
{
<tr id="@i">
<td>col1_@i</td>
<td>col2_@i</td>
<td>col3_@i</td>
</tr>
}
}
</tbody>
</table>
</div>
<br />
<input type="text" id="txt1" value="" placeholder="txt1" />
<input type="text" id="txt2" value="" placeholder="txt2" />
<input type="text" id="txt3" value="" placeholder="txt3" />

hakim22
جمعه 04 بهمن 1392, 12:22 عصر
کد شما با اصلاحات من


<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.3.js"></script>


<h2>Page3</h2>

<div>
<table style="width: 50%; margin: auto" id="tbl">
<thead>
<tr>
<th>col1</th>
<th>col2</th>
<th>col3</th>
</tr>
</thead>
<tbody>

<tr id="tr1">
<td>c1 r1</td>
<td>c2 r1</td>
<td>c3 r1</td>
</tr>
<tr id="tr2">
<td>c1 r2</td>
<td>c2 r2</td>
<td>c3 r2</td>
</tr>
<tr id="tr3">
<td>c1 r3</td>
<td>c2 r3</td>
<td>c3 r3</td>
</tr>

</tbody>
</table>
</div>

<input type="text" id="txt1" value="" placeholder="txt1" />
<input type="text" id="txt2" value="" placeholder="txt2" />
<input type="text" id="txt3" value="" placeholder="txt3" />
<input type="button" id="set" value="set" />


<script type="text/javascript">
var $row=null;

$('#set').click(function(){

$row.find('td').eq(0).html($('#txt1').val());
$row.find('td').eq(1).html($('#txt2').val());
$row.find('td').eq(2).html($('#txt3').val());

});
$(document).ready(function () {


$('tr').click(function () {
$row=$(this);
$('#txt1').val($(this).find('td').eq(0).html());
$('#txt2').val($(this).find('td').eq(1).html());
$('#txt3').val($(this).find('td').eq(2).html());

});



});
</script>


متن کامل رو در یک فایل HTML جدید کپی کنید و در مرورگر تست کنید. بدون مشکل اجرا میشود.