• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
چرا اين كد پاسخ نميده؟ DOM
#1
با سلام
كدي كه در زير ميارم نمونه ساده اي از مشكليه كه من با كد مشابه اون دارم. كلا اين كد داراي يه حلقه هست كه براي ايجاد چند دكمه و اضافه كردن خاصيت onclick به هر كدوم از دكمه ها استفاده ميشه و هر دكمه كه فشار داده ميشه بايد تابعي را با مقدار مختلف اجرا كنه. كد ساده اي هست اما توش موندم كه چرا جواب نميده يعني چرا onclick كار نمي كنه.Angry
دوستان عزيزي كه كد رو ملاحظه مي كنن لطفا اگه راهش رو پيدا كردن منو راهنمايي كنن.
مرسي از توجهتون
کد:
<html>
<head>
<title>onclick_in_loop.html</title>
<script language="javascript">
arr_1=new Array('A','B','C','D','E','F','G');
arr_2=new Array('value A','value B','value C','value D','value E','value F','value G');
function f1(vl){
  alert(':::.... ('+vl+') ....:::');
}
//***
function f2(){
  for(T=0; T<(arr_1.length); T++){
    tg=document.createElement('input');
    tg.setAttribute('type','button');
    tg.setAttribute('value','button ('+arr_1[T]+')');
    tg.onclick=function(){
      f1(arr_2[T]);
    }
    document.getElementById('d1').appendChild(tg);
  }
}
</script>
</head>

<body>
<p>&nbsp;</p>
<input type="button" name="b1" id="b1" value="Click" onclick="f2();" />
<hr />
<div align="center" name="d1" id="d1"></div>
</body>

</html>
  پاسخ
تشکر شده توسط :
#2
چه موقع تابع tg.onclick=function() فراخونی میشه ؟

موقعی که روی دکمه کلیک میشه مشا برای ارسال پارامتر به تابع از یک ارایه استفاده کزدین به همراه یک متغییر که مقدارش داخل حلقه زیاد میشه ولی وقتی روی دکمه کلیک میشه موقعی عست که دیگه حلقه قبلا اجرا شده و مقدار T برابر 7 شده بنت بنابر این چنین عنصری در ارایه برای نمایش وجود ندارد برای همین پیغام رو به صورت underfined چاپ میکنه .
  پاسخ
تشکر شده توسط : mehdimalek


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان