Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

Javascript İd kullanımı

Konu, 'Javascript' kısmında cokaym tarafından paylaşıldı.

  1. cokaym

    cokaym Yeni Üye

    Kayıt:
    30 Haziran 2008
    Mesajlar:
    10
    Beğenilen Mesajlar:
    0
    Merhaba arkadaşlar checkbox ların id değerindeki bilgi şu şekilde name='topla[12]'
    Örneğin
    <input type="checkbox" name='topla[12]' id='topla[12]'
    <input type="checkbox" name='topla[100]' id='topla[100]'

    ben bu name i döngü içerisinde nasıl kullanabilirim.Ve işleme koyabilirim.
    Umarım anlatabilmişimdir

    Yardımlarınız için şimdiden teşekkürler
     
  2. cemal

    cemal Üye

    Kayıt:
    20 Ekim 2007
    Mesajlar:
    249
    Beğenilen Mesajlar:
    0
    Kod:
      
    <script type="text/javascript">
    
    RegExp.prototype.cokaym=function(){
    // alert(this); //         /topla\[\d{2,}\]/
    var A=[], i=0, el;
    while(el=document.getElementsByTagName('input')[i++]) {
    if(el.id.match(this)) {el.checked=true; A[A.length]=el.name; }
    }
    return A;
    }
    function f(){
    var re=/topla\[\d{2,}\]/;
    alert(re.cokaym());
    }
    
    </script>
    </head>
    <body>
    <input type="button" value="tıkla" onclick="f()">
    <input type='checkbox' name='topla[12]' id='topla[12]' >
    <input type='checkbox' name='topla[100]' id='topla[100]' >
    
     
  3. cokaym

    cokaym Yeni Üye

    Kayıt:
    30 Haziran 2008
    Mesajlar:
    10
    Beğenilen Mesajlar:
    0
    Cevap yazdığınız için teşekkür ederim fakat ben anlatamadım. orda name="topla[12]" yazan ifadede 12 değerini almak istiyorum.checkbox seçildiğinde value değerlerini elde etmek istiyorum fakat name'topla[12]' köşeli parantezler olduğu için ve köşeli parantezlerdeki değerlerde sıralı olmadığı içinn sorun yaşıyorum. örnekte gösterdiğim gibi.

    <input type="checkbox" name='topla[12]' id='topla[12]' value='10'
    <input type="checkbox" name='topla[100]' id='topla[100]' value='15'
     
  4. cemal

    cemal Üye

    Kayıt:
    20 Ekim 2007
    Mesajlar:
    249
    Beğenilen Mesajlar:
    0
    Kodu gündüz yazmıştım ama siteyi açmadığı için gönderemedim. Böyle bir durum tekrar ederse yani senin için de site açılmaz ise
    http://forum.mutasyon.net/
    burada sor sorunu cevap yazayım. Umarım istediğin böyle bir şeydir:
    Kod:
     
    <script type="text/javascript">
    
    RegExp.prototype.idNumarasiAl=function(){
    var A=[], el, i=0;
    while(el=document.getElementsByTagName('input')[i++]) {
    if(el.id.match(this))   { A[A.length]=el.id.replace(this,'$1'); }
    }
    return A;
    }
    RegExp.prototype.secilenlerinDegerleriniAl=function(bu){
    var A=[], i=0, el;
    while(el=document.getElementsByTagName('input')[i++]) {
    if(el.id.match(this) && el.checked==true)   { A[A.length]=el.value; }
    }
    return A;
    }
    
    function f(){
    var re=/topla\[(\d{2,})\]/;
    alert(re.idNumarasiAl());  // idlerdeki numaralarını gösterecek
    alert(re.secilenlerinDegerleriniAl());  // onay kutusu seçilmişse value değlerini gösterecek
    }
    
    </script>
    </head>
    <body>
    <input type="button" value="tıkla" onclick="f()">
    
    <input type='checkbox' name='topla[12]' id='topla[12]' value='10'>
    <input type='checkbox' name='topla[100]' id='topla[100]' value='15'>
     
     
  5. cokaym

    cokaym Yeni Üye

    Kayıt:
    30 Haziran 2008
    Mesajlar:
    10
    Beğenilen Mesajlar:
    0
    Cevabınız için tekrar teşşekkür ediyorum. Bir şey daha soracağım iki adet formum olduğunda nasıl yapabilirim bu işlemi.

    <form name="form1" action="toplam.html">
    <input type='checkbox' name='topla[12]' id='topla[12]' value='10'>
    <input type='checkbox' name='topla[100]' id='topla[100]' value='15'>
    </form>
    <form name="form2" action="toplam.html">
    <input type='checkbox' name='topla[12]' id='topla[12]' value='10'>
    <input type='checkbox' name='topla[100]' id='topla[100]' value='15'>
    </form>
     
  6. cemal

    cemal Üye

    Kayıt:
    20 Ekim 2007
    Mesajlar:
    249
    Beğenilen Mesajlar:
    0
    Kod:
     
    <script type="text/javascript">
    
    RegExp.prototype.idNumarasiAl=function(bu){
    var A=[], el, i=0, fo=document.getElementById(bu);
    while(el=fo.getElementsByTagName('input')[i++]) {
    if(el.id.match(this))   { A[A.length]=el.id.replace(this,'$1'); }
    }
    return A;
    }
    RegExp.prototype.secilenlerinDegerleriniAl=function(bu){
    var A=[], i=0, el, fo=document.getElementById(bu);
    while(el=fo.getElementsByTagName('input')[i++]) {
    if(el.id.match(this) && el.checked==true)   { A[A.length]=el.value; }
    }
    return A;
    }
    
    function f(bu){
    var re=/topla\[(\d{2,})\]/;
    alert(re.idNumarasiAl(bu));  // idlerdeki numaralarını gösterecek
    alert(re.secilenlerinDegerleriniAl(bu));  // onay kutusu seçilmişse value değlerini gösterecek
    }
    
    </script>
    </head>
    <body>
    <input type="button" value="form1"  onclick="f('form1')"><br>
    <input type="button" value="form2"  onclick="f('form2')">
    
    <form name="form1" id="form1" action="toplam.html">
    <input type='checkbox' name='topla[12]' id='topla[12]' value='10'>
    <input type='checkbox' name='topla[100]' id='topla[100]' value='15'>
    </form>
    <form name="form2" id="form2" action="toplam.html">
    <input type='checkbox' name='topla[12]' id='topla[12]' value='10'>
    <input type='checkbox' name='topla[100]' id='topla[100]' value='15'>
    </form>
     
    önceki mesajımdaki aşağıdaki parantez içindeki bu silinecek. O kullanılmamış.
    RegExp.prototype.secilenlerinDegerleriniAl = function(bu){
     
  7. cokaym

    cokaym Yeni Üye

    Kayıt:
    30 Haziran 2008
    Mesajlar:
    10
    Beğenilen Mesajlar:
    0
    Yardımlarınız için çok teşekkürler.
     
  8. cokaym

    cokaym Yeni Üye

    Kayıt:
    30 Haziran 2008
    Mesajlar:
    10
    Beğenilen Mesajlar:
    0
    Benim bir sorum daha olacaktı. Elimde şu kodlar var Aşağıdaki kodlarda toplama işlemini yapıyor fakat benim istediğim checkboxların namelerinin name="topla[15]" gibi köşeli parantezlerin içinde değerlerin olmasını istiyorum Ve işlemi o şekilde yaptırmak istiyorum.

    Benim istediğim yukarıdaki kodlarda yaptığım işlemi aşağıdaki kodlarlada yapmak.Yani 2 form dada işlem yapmak istiyorum.Tabi checkbox ların name leride aşağıdaki gibi olacak.Nasıl yapacağım hakkında bir fikir verebilirseniz çok sevinirim.

     
  9. cemal

    cemal Üye

    Kayıt:
    20 Ekim 2007
    Mesajlar:
    249
    Beğenilen Mesajlar:
    0
    Elemanların isimleri bir dizi içine atılarak yapılabilir.
    Kod:
      
    <html>
    <head>
    <script>
    function topla(){
    var str = 0;
    var A=[], re=/topla\[\d+\]/;
    var f= document.form1, i=0, el;
    while(el=f.elements[i++]) if(el.name.match(re)) { A[A.length]=el.name;}
    //alert(A);
    
    for(var x=0; x<A.length; x++){
    if(f.elements[A[x]].checked==true){
    str =str+ Number(f.elements[A[x]].value);
    }
    }
    f.toplam.value=str.toFixed(2);
    
    }
    </script>
    </head>
    <body>
    <form name="form1" id="form1" action="df.html">
    <input type="checkbox" name="topla[15]" value="9.99" onclick="topla()"/>9.99 <br />
    <input type="checkbox" name="topla[18]" value="15.02" onclick="topla()"/>15.02 <br />
    <input type="checkbox" name="topla[100]" value="20" onclick="topla()"/>20 <br />
    <input type="checkbox" name="topla[124]" value="56.35" onclick="topla()"/>56.35 <br />
    <input type="checkbox" name="topla[5]" value="12.42" onclick="topla()"/>12.42 <br />
    <input type="checkbox" name="topla[56]" value="8.2" onclick="topla()"/>8.2 <br /> <br />
    <label>Toplam: </label> <input type="text" name="toplam" value="0" />
    </form>
    </body>
    </html>
    
    iki formda
    Kod:
      
    <html>
    <head>
    <script>
    function topla(bu){
    var str = 0;
    var f=(bu==1)? document.form1 : document.form2;
    var A=[], re=/topla\[\d+\]/;
    var i=0, el;
    while(el=f.elements[i++]) if(el.name.match(re)) { A[A.length]=el.name;}
    
    for(var x=0; x<A.length; x++){
    if(f.elements[A[x]].checked==true){
    str =str+ Number(f.elements[A[x]].value);
    }
    f.toplam.value=str.toFixed(2);
    }
    }
    </script>
    </head>
    <body>
    <form name="form1" id="form1" action="df.html">
    <input type="checkbox" name="topla[15]" value="9.99" onclick="topla(1)"/>9.99 <br />
    <input type="checkbox" name="topla[18]" value="15.02" onclick="topla(1)"/>15.02 <br />
    <input type="checkbox" name="topla[100]" value="20" onclick="topla(1)"/>20 <br />
    <input type="checkbox" name="topla[124]" value="56.35" onclick="topla(1)"/>56.35 <br />
    <input type="checkbox" name="topla[5]" value="12.42" onclick="topla(1)"/>12.42 <br />
    <input type="checkbox" name="topla[56]" value="8.2" onclick="topla(1)"/>8.2 <br /> <br />
    <label>Toplam: </label> <input type="text" name="toplam" value="0" />
    </form>
    <form name="form2" id="form2" action="df.html">
    <input type="checkbox" name="topla[15]" value="9.99" onclick="topla(2)"/>9.99 <br />
    <input type="checkbox" name="topla[18]" value="15.02" onclick="topla(2)"/>15.02 <br />
    <input type="checkbox" name="topla[100]" value="20" onclick="topla(2)"/>20 <br />
    <input type="checkbox" name="topla[124]" value="56.35" onclick="topla(2)"/>56.35 <br />
    <input type="checkbox" name="topla[5]" value="12.42" onclick="topla(2)"/>12.42 <br />
    <input type="checkbox" name="topla[56]" value="8.2" onclick="topla(2)"/>8.2 <br /> <br />
    <label>Toplam: </label> <input type="text" name="toplam" value="0" />
    </form>
    </body>
    </html> 
    
    değişkenleri tanımlarken var yazmayı unutma
     
  10. cokaym

    cokaym Yeni Üye

    Kayıt:
    30 Haziran 2008
    Mesajlar:
    10
    Beğenilen Mesajlar:
    0
    Yardımlarınız için çok teşekkürlerr.
     
  11. cokaym

    cokaym Yeni Üye

    Kayıt:
    30 Haziran 2008
    Mesajlar:
    10
    Beğenilen Mesajlar:
    0
    Bir sorum daha olacaktı. Ben bu form sayısını 2 değilde 2 den daha fazla yapabilirmiyim.
     
  12. cemal

    cemal Üye

    Kayıt:
    20 Ekim 2007
    Mesajlar:
    249
    Beğenilen Mesajlar:
    0
    Yapabilirisin. O zaman f değişkeninin değerini ayarlaman gerekiyor.
    var f=(bu==1)? document.form1 : (bu==2)? document.form2 : (bu==3)? document.form3 : (bu==4)? document.form4 : null;
    form sayısı kadar uzatacaksın.
    Kod:
     
    <html>
    <head>
    <script>
    function topla(bu){
    var str = 0;
    var f=(bu==1)? document.form1 : (bu==2)? document.form2 : (bu==3)? document.form3  : (bu==4)? document.form4 : null;
    var A=[], re=/topla\[\d+\]/;
    var i=0, el;
    while(el=f.elements[i++]) if(el.name.match(re)) { A[A.length]=el.name;}
    
    for(var x=0; x<A.length; x++){
    if(f.elements[A[x]].checked==true){
    str =str+ Number(f.elements[A[x]].value);
    }
    f.toplam.value=str.toFixed(2);
    }
    }
    </script>
    </head>
    <body>
    <form name="form1" id="form1" action="df.html">
    <input type="checkbox" name="topla[15]" value="9.99" onclick="topla(1)"/>9.99 <br />
    <input type="checkbox" name="topla[18]" value="15.02" onclick="topla(1)"/>15.02 <br />
    <input type="checkbox" name="topla[100]" value="20" onclick="topla(1)"/>20 <br />
    <input type="checkbox" name="topla[124]" value="56.35" onclick="topla(1)"/>56.35 <br />
    <input type="checkbox" name="topla[5]" value="12.42" onclick="topla(1)"/>12.42 <br />
    <input type="checkbox" name="topla[56]" value="8.2" onclick="topla(1)"/>8.2 <br /> <br />
    <label>Toplam: </label> <input type="text" name="toplam" value="0" />
    </form>
    <form name="form2" id="form2" action="df.html">
    <input type="checkbox" name="topla[15]" value="9.99" onclick="topla(2)"/>9.99 <br />
    <input type="checkbox" name="topla[18]" value="15.02" onclick="topla(2)"/>15.02 <br />
    <input type="checkbox" name="topla[100]" value="20" onclick="topla(2)"/>20 <br />
    <input type="checkbox" name="topla[124]" value="56.35" onclick="topla(2)"/>56.35 <br />
    <input type="checkbox" name="topla[5]" value="12.42" onclick="topla(2)"/>12.42 <br />
    <input type="checkbox" name="topla[56]" value="8.2" onclick="topla(2)"/>8.2 <br /> <br />
    <label>Toplam: </label> <input type="text" name="toplam" value="0" />
    </form>
    <form name="form3" id="form3" action="df.html">
    <input type="checkbox" name="topla[15]" value="9.99" onclick="topla(3)"/>9.99 <br />
    <input type="checkbox" name="topla[18]" value="15.02" onclick="topla(3)"/>15.02 <br />
    <input type="checkbox" name="topla[100]" value="20" onclick="topla(3)"/>20 <br />
    <input type="checkbox" name="topla[124]" value="56.35" onclick="topla(3)"/>56.35 <br />
    <input type="checkbox" name="topla[5]" value="12.42" onclick="topla(3)"/>12.42 <br />
    <input type="checkbox" name="topla[56]" value="8.2" onclick="topla(3)"/>8.2 <br /> <br />
    <label>Toplam: </label> <input type="text" name="toplam" value="0" />
    </form>
    <form name="form4" id="form4" action="df.html">
    <input type="checkbox" name="topla[15]" value="9.99" onclick="topla(4)"/>9.99 <br />
    <input type="checkbox" name="topla[18]" value="15.02" onclick="topla(4)"/>15.02 <br />
    <input type="checkbox" name="topla[100]" value="20" onclick="topla(4)"/>20 <br />
    <input type="checkbox" name="topla[124]" value="56.35" onclick="topla(4)"/>56.35 <br />
    <input type="checkbox" name="topla[5]" value="12.42" onclick="topla(4)"/>12.42 <br />
    <input type="checkbox" name="topla[56]" value="8.2" onclick="topla(4)"/>8.2 <br /> <br />
    <label>Toplam: </label> <input type="text" name="toplam" value="0" />
    </form>
    </body>
    </html>
     
     
  13. cokaym

    cokaym Yeni Üye

    Kayıt:
    30 Haziran 2008
    Mesajlar:
    10
    Beğenilen Mesajlar:
    0
    Anladım .Yine aynı yöntemle yapılıyor. Teşekkürler