مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

yuttrim

عضویت از 1394/03/17

دلیل خطای تکه کد در جاوا اسکریپت

  • دوشنبه 25 خرداد 1394
  • 15:08
تشکر میکنم

با سلام خدمت اساتید ایراد کد زیر چیه؟

function myFunction() {
            var table = document.getElementById("table1");
            var row = table.insertRow(2);
            var row1 = table.insertRow(3);
            var select1 = parseInt(document.getElementById("mySelect").value);
            for (j = 0; j < select1; j++) {
                var cell1 = row.insertCell(j);
                cell1.innerHTML = "قسط" + (j + 1);
                var cell2 = row1.insertCell(j);
                cell2.innerHTML = "label";
                debugger;
            }

در خط زیر خطا دارد:

 var select1 = parseInt(document.getElementById("mySelect").value);

و متن خطای آن:

cannot read property 'value' of null

پاسخ های این پرسش

تعداد پاسخ ها : 2 پاسخ
کاربر سایت

سجاد باقرزاده

عضویت از 1392/02/24

  • سه شنبه 26 خرداد 1394
  • 09:22

parseInt لازم نیست ، حذف بشه. اگه بازم کار نکرد و کد html , js را بذارید تا کامل بررسی کنم.

 var select1 = document.getElementById("mySelect").value;

 

کاربر سایت

yuttrim

عضویت از 1394/03/17

  • سه شنبه 26 خرداد 1394
  • 09:48

سلام ممنون خطاش رفع شد اما یه مشکلی که هست توی کد یه شرط گذاشتم اما اصلا وارد شرط نمیشه ایراد کار کجست؟

مثلا میخوام اگه عدد انتخابی از لیست بیشتر از 6 بود دو سطر دیگه به جدول اضافه شه اما این عمل انجام نمیشه این تبع رو داخل رویداد onclick یک button نوشتم اما با هر بار زدن button این تابع اجرا میشه و سطر به سطر های قبل اضافه میشه به جای اینکه جای همون دو سطر قبل رو بگیره!

function myFunction() {
            var table = document.getElementById("table1");
            var row = table.insertRow(2);
            var row1 = table.insertRow(3);
            var row2 = table.insertRow(4);
            var row4 = table.insertRow(5);
            var select1 = parseInt(document.getElementById("mySelect").value);
            for (j = 0; j < select1; j++) {                            
                var cell1 = row.insertCell(j);
                var cell2 = row1.insertCell(j);
                    cell1.innerHTML = "قسط" + (j + 1);                    
                    cell2.innerHTML = "label";
                    if (j >= 6) {
                        var cell3 = row2.insertCell(j);
                        cell3.innerHTML = "قسط" + (j + 1);
                        var cell4 = row4.insertCell(j);
                        cell4.innerHTML = "label";
                    }
                    debugger;               
            }          
        }

داخل شرط 

 if (j >= 6) {
                    var cell3 = row2.insertCell(j);
                    cell3.innerHTML = "قسط" + (j + 1);
                    var cell4 = row4.insertCell(j);
                    cell4.innerHTML = "label";
                }

خط اول یعنی:

 var cell3 = row2.insertCell(j);

خطا داره و متن خطای آن:

[the value provided (6) is outside the range [-1,0

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)