نمایش نتایج 1 تا 11 از 11

نام تاپیک: اظافه كردن پوياي كد

  1. #1
    کاربر دائمی
    تاریخ عضویت
    آذر 1386
    محل زندگی
    سحابي #C ستاره ي Java
    پست
    192

    اظافه كردن پوياي كد

    سلام مي خواستم بدونم كه آيا ما مي تونيم به صورت پويا كدي رو با جاوا اسكريپت بنويسيم كه تعدادي Textbox و CheckBox و Button به صفحه ي ما اظافه كنه.منظورم اينه كه فرض كنيد ما يك دكمه تو صفحه داريم با نام Add كه اگه كاربر روي اون كليك كرد يه TextBox و Check Box و Button (با همون نام Add) به صفحه اظافه بشه و اگه كاربر دوباره رو دكمه ي Add جديد ما كليك كرد همين اتفاق دوباره بيفته

  2. #2
    کاربر دائمی آواتار eAmin
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    Node.js
    پست
    447

    نقل قول: اظافه كردن پوياي كد

    سلام.

    بله امکان پذیره، با استفاده از dom می تونید اینکار رو انجام بدید، مثال:
    window.onload = function() {

    var txt = document.createElement("input");
    txt.setAttribute("type", "textbox");

    document.getElementsByTagName("body")[0].appendChild(txt);
    };

  3. #3
    کاربر دائمی
    تاریخ عضویت
    آذر 1386
    محل زندگی
    سحابي #C ستاره ي Java
    پست
    192

    نقل قول: اظافه كردن پوياي كد

    نقل قول نوشته شده توسط Amin eHelp مشاهده تاپیک
    document.getElementsByTagName("body")[0].appendChild(txt);
    };[/code]
    ممنون از راهنماییتون ولی این آرایه ای که برای تگ body در نظر گرفته اید چه مقادیری میتواند داشته باشد.اندیس صفر این آرایه شامل چه مقداری است؟
    و اینکه اگه من این کد رو بخوام بعد از مثلا چند تا <div> تو در تو و داخل یه فرم نمایش بدم چه کار باید کنم؟

  4. #4
    کاربر دائمی آواتار eAmin
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    Node.js
    پست
    447

    نقل قول: اظافه كردن پوياي كد

    نقل قول نوشته شده توسط yasercomeng مشاهده تاپیک
    ممنون از راهنماییتون ولی این آرایه ای که برای تگ body در نظر گرفته اید چه مقادیری میتواند داشته باشد.اندیس صفر این آرایه شامل چه مقداری است؟
    و اینکه اگه من این کد رو بخوام بعد از مثلا چند تا <div> تو در تو و داخل یه فرم نمایش بدم چه کار باید کنم؟
    اون یه مثال بود، و آرایه با مقدار 0 هم یعنی اولین تگ body موجود در صفحه، بخاطر خصلت getElementsByTagName باید از آرایه استفاده کرد. در ضمن شما می تونید بجای استفاده از آرایه از متد item هم استفاده کنید که کارایی مشابهی دارند. ( یک آرگومان از نوع صحیح می گیره که باید مقدار دهی بشه )

    مورد دوم هم ساده ترین راهش این هست که یک id به المنت مربوطه اختصاص بدید و با استفاده از getElementById اینکار رو انجام بدید.

    window.onload = function() {

    var txt = document.createElement("input");
    txt.setAttribute("type", "textbox");

    document.getElementById("myform").appendChild(txt) ;
    };

  5. #5
    کاربر دائمی
    تاریخ عضویت
    آذر 1386
    محل زندگی
    سحابي #C ستاره ي Java
    پست
    192

    نقل قول: اظافه كردن پوياي كد

    حالا اگه بخوایم یه textbox یا یه دکمه رو از صفحه حذف کنم باید چی کار کنم؟

  6. #6
    کاربر دائمی آواتار eAmin
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    Node.js
    پست
    447

    نقل قول: اظافه كردن پوياي كد

    نقل قول نوشته شده توسط yasercomeng مشاهده تاپیک
    حالا اگه بخوایم یه textbox یا یه دکمه رو از صفحه حذف کنم باید چی کار کنم؟
    پیشنهاد می کنم کمی در رابطه با dom scripting جستجو کنید...

    window.onload = function() {
    // <p id="ps">something...</p>
    var pss = document.getElementById("ps");
    document.getElementsByTagName("body")[0].removeChild(pss);
    };

  7. #7
    کاربر دائمی
    تاریخ عضویت
    آذر 1386
    محل زندگی
    سحابي #C ستاره ي Java
    پست
    192

    نقل قول: اظافه كردن پوياي كد

    نقل قول نوشته شده توسط Amin eHelp مشاهده تاپیک

    window.onload = function() {

    var txt = document.createElement("input");
    txt.setAttribute("type", "textbox");

    document.getElementById("myform").appendChild(txt) ;
    };
    excuse me for asking too many question.but i attemp to do that functionality you said to me.i make this code but it didn't work anymore.
    کد HTML:
    <html>
    <head>
    <script language="javascript">
    function AddElement(var value)
    {
     var txt = document.createElement("input");
     var tr = document.createElement("tr");
     var td = document.createElement("td"); 
     txt.setAttribute("type", "textbox");
     txt.setAttribute("name", "textbox"+value);
     document.getElementByTagName("table")[0].appendChild(tr);
     document.getElementByTagName("tr")[0].appendChild(td);
     document.getElementByTagName("td")[0].appendChild(txt);
    }
    </script>
    </head>
    <body>
    <form name="SubmitForm" method="POST">
     <table>
      <tr><td><input type="text" name="Textbox1"><input type="button" name="Addbutton1" onclick="AddElement(2)"/></td></tr>
     </table>
    </form>
    </body>
    </html>

  8. #8
    کاربر دائمی
    تاریخ عضویت
    اسفند 1385
    محل زندگی
    تهران
    پست
    1,486

    نقل قول: اظافه كردن پوياي كد

    excuse me for asking too many question.but i attemp to do that functionality you said to me.i make this code but it didn't work anymore.
    function AddElement(value)
    {
    var txt = document.createElement("input");
    txt.setAttribute("type", "textbox");
    txt.setAttribute("name", "textbox"+value);
    var tbl=document.getElementsByTagName("table")[0];
    var row=tbl.insertRow(tbl.rows.length);
    var cell=row.insertCell(0);
    cell.appendChild(txt);
    }

  9. #9
    کاربر دائمی
    تاریخ عضویت
    آذر 1386
    محل زندگی
    سحابي #C ستاره ي Java
    پست
    192

    نقل قول: اظافه كردن پوياي كد

    سلام.خسته نباشيد.
    من از راهنمايي هايتون استقاده كردم.اما يه مشكل تو يه بخش ديگه از كارم دارم.من كد زير رو نوشتم، اگه ملاحظه كنيد من مي خواهم كه به button اي كه به طور ديناميك توليد مي كنم، متدي كه موقع onclick شدن فراخواني بشه رو مي دهم. اما اين كد كار نمي كنه؟
    مي خواستم بدونم كه چه طور مي تونيم به يه عنصري كه به طور دايناميك توليد مي شه، متدي كه موقع اجراي يكي از event هاي اون عنصر قراره اجرا بشه رو بشناسونم؟
    يه سؤال ديگه هم داشتم و اونم اينه كه وقتي وارد متدي شدم ( كه مثلاً توسط رويداد onclick فراخواني مي شه) چه طور مي تونم اطلاعات فراخواننده (مثلاً اسم عنصري كه اين رويداد رو فراخواني كرده) رو بدست بيارم؟

    کد HTML:
    <html xmlns="http://www.w3.org/1999/xhtml">
    
    <head>
        <script language="javascript" type="text/javascript">
            function addItem()
            {
                var nextNum=document.getElementById("Counter").value;
                var txt = document.createElement("input");
                txt.setAttribute("type", "textbox");
                txt.setAttribute("name", "textbox"+(++nextNum));
                var btn=document.createElement("input");
                btn.setAttribute("type","button");
                btn.setAttribute("name","rbtm"+(++nextNum));
                btn.setAttribute("value","Remove")
                if(window.addEventListener)
                    btn.addEventListener("onclick",rmvItem,false);            
                else            
                    btn.attachEvent("onclick",rmvItem);
                var tbl=document.getElementsByTagName("table")[0];
                var row=tbl.insertRow(tbl.rows.length);
                var txtCell=row.insertCell(0);
                var btnCell=row.insertCell(1);
                txtCell.appendChild(txt);
                btnCell.appendChild(btn);            
                document.getElementsByTagName("Counter").value=nextNum;
            }
            function rmvItem()
            {
                alert("Hello");
            }        
        </script>
        <title>Hello!</title>
    </head>
    
    <body>
        <form method="post" action="" name="Dform">
            <input type="hidden" id="Counter" name="Counter" value="0" />
            <table>
                <tr><td><input type="text" name="textbox0"/></td><td><input type="button" value="AddAuthor" onclick="addItem()" />              </td></tr>
            </table>
            <input type="submit" name="EditButton" />
        </form>
    
    </body>
    
    </html>

  10. #10
    کاربر دائمی
    تاریخ عضویت
    اسفند 1385
    محل زندگی
    تهران
    پست
    1,486

    نقل قول: اظافه كردن پوياي كد

    من از راهنمايي هايتون استقاده كردم.اما يه مشكل تو يه بخش ديگه از كارم دارم.من كد زير رو نوشتم، اگه ملاحظه كنيد من مي خواهم كه به button اي كه به طور ديناميك توليد مي كنم، متدي كه موقع onclick شدن فراخواني بشه رو مي دهم. اما اين كد كار نمي كنه؟
    مي خواستم بدونم كه چه طور مي تونيم به يه عنصري كه به طور دايناميك توليد مي شه، متدي كه موقع اجراي يكي از event هاي اون عنصر قراره اجرا بشه رو بشناسونم؟
    لازم نیست از addEventListener استفاده کنی، با همین setAttribute اینکار رو بکن:

    btn.setAttribute("onclick","rmvItem();");

    يه سؤال ديگه هم داشتم و اونم اينه كه وقتي وارد متدي شدم ( كه مثلاً توسط رويداد onclick فراخواني مي شه) چه طور مي تونم اطلاعات فراخواننده (مثلاً اسم عنصري كه اين رويداد رو فراخواني كرده) رو بدست بيارم؟
    برای نام عنصر به راحتی میتونه نام اونو به تابع پاس بدی.
    مثلا در این کدت باید setAttribute رو به این شکل تغییر بدی:

    btn.setAttribute("onclick","rmvItem(this.name);");

    و تابع:

    function rmvItem(name)
    {
    alert(name);
    }

    ضمنا این روشی که برای به دست اوردن nextNum استفاده کردی غلطه، چون در هر بار فراخوانی تابع addItem این مقدار از 0 شروع میشه، اونو بالا تابع به این شکل تعریف کن:

    var nextNum=0;

  11. #11

    نقل قول: اظافه كردن پوياي كد

    نقل قول نوشته شده توسط yasercomeng مشاهده تاپیک
    if(window.addEventListener)
    btn.addEventListener("onclick",rmvItem,false);
    else
    btn.attachEvent("onclick",rmvItem);
    این کد Cross Browser تر عمل میکنه

    btn.onclick = function(){ rmvItem(); };

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •