• 07-05-2007, 10:38:05
    #1
    Kullandığım form mail şöyle bi kod oluşturdu:
    <script language="Javascript">
        <!--
        function check_email(th)
        {
            fl = true;
            if (check_all(th) == false)    fl = false;
            if (check_numb(th) == false) fl = false;
            email = document.getElementById("email0");
            var myRegExp = /[a-z].[a-z_\d]*@[a-z\d]*/i;
            var myRegExp = /^[0-9a-z]?[0-9a-z\.\-_]*@[0-9a-z\.\-_]+\.\w{2,5}$/;
            var els = document.getElementsByTagName("INPUT");
        
            for( i=0; i<els.length; i++ )
            {
                if( els[i].type == "text" && (els[i].name.substring(0, 5) == "email" || els[i].name.substring(0, 7) == "s_email") && els[i].value != "")
                {
                    if (myRegExp.test(els[i].value)==false )
                    {
                        alert('Geçersiz Eposta Adresi!');
                        fl = false;
                    }
                }
            }
            return fl;
        }
        function check_numb(fm)
        {
            var myRegExp = /^\d+(\.|,){0,1}\d+$/;
            var els = document.getElementsByTagName("INPUT");
        
            for( i=0; i<els.length; i++ )
            {
                if( els[i].type == "text" && els[i].name.substring(0, 6) == "number" && els[i].value != "")
                {
                    if (myRegExp.test(els[i].value)==false )
                    {
                        fild_name = "";
                        all_name = document.getElementById("all_name");
                        arr = all_name.value.split("|*|");
                        for (j = 0; j < arr.length; j ++) 
                        {
                            nv = arr[j].split("|!|");
                            if (nv[1] == els[i].name) 
                            {
                                fild_name = nv[0];
                                break;
                            }
                        }
        
                        str_err = 'Incorrect #%field_name%# value: should be a number';
                        str_err = str_err.replace(/(#%field_name%#)/, fild_name);
                        alert(str_err);
                        //alert('');
                        fl = false;
                    }
                }
            }
            return fl;
        }
        
        function check_all(fm)
        {
            requ = document.getElementById("requ");
            array_ch = requ.value.split("|,|");
            len = array_ch.length;
            for (i = 1; i < len; i ++)
            {
                array_nv = array_ch[i].split("||");
                if (array_nv[1] != "" && array_nv[1].substr(0,4) != "date" && array_nv[1].substr(0,4) != "time" && array_nv[1].substr(0,4) != "sele" && array_nv[1].substr(0,4) != "radi")
                {
                    val = document.getElementById(array_nv[1]);
                    if (val.value == "" && val.type.substr(0,4) != "sele")
                    {
                        str_err = 'Zorunlu alanlardan #%field_name%# alanını doldurmadınız!';
                        str_err = str_err.replace(/(#%field_name%#)/, array_nv[0]);
                        alert(str_err);
                        return false;
                    }
                }
            }
        }
        -->
        </script>
    Bu kod çalışıyor ama biraz haddinden fazla çalışıyor. Form içinde başka bir forma ait olan submit butonuna bastığımda da diğer formdaki zorunlu alanları doldurmamu istiyor.

    1- 2. formdaki submit butonunu javascript ile link haline getirsem sorun çözülürmü? (dene kardeşim niye burda soruyosun demeyin) Çözülür diyosanız bunu nasıl yapıcam

    2- Formlarda zorunlu alan belirlemek için bu kadar uzun javascript kodundan daha kullanışlı başka birşey kullanabilirmiyim?
  • 24-06-2008, 20:10:12
    #2
    1 yıldan fazladır çözemediğim bu probleme çare var mı ?
  • 10-07-2008, 00:46:54
    #3
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Forma farklı id ver ve diğer input alanlarına da. <body></body> bölümü olsa daha iyi anlayabilirdim belki. :S
  • 10-07-2008, 09:05:18
    #4
    Üyeliği durduruldu
    var els = document.getElementsByTagName("INPUT");
    burada bütün inputları alıyor

    if( els[i].type == "text" && els[i].name.substring(0, 6) == "number" && els[i].value != "")
    burada da
    type text ile adının ilk altı hanesi number olanları değerlendirmeye alıyor
    yapacak 2 şeyin var bir o alanda ki değerlendirilmeye alınmasını istediğin input ların
    başına SAHO yaz mesala sonra
                if( els[i].type == "text" && els[i].name.substring(0, 6) == "number"  && els[i].name.substring(0, 4) == "SAHO" && els[i].value != "")
    ilde değiştir 1
    ikinci yöntem ise
    if( els[i].type == "text"
    satırnın hemen sağına
    && els[i].class == "zorunlular"
    gibi ekleyip zorunlu inputlar a class="zorunlular" diye at // jquery mantığıyla
    veya id at zorunli1 zorunli2 diye
    && els[i].id == "zorunlu1" && els[i].id == "zorunlu2"

    senedir düzelmeyen sorununa bir daha bak
  • 02-08-2008, 11:49:43
    #5
    Popup sayfada açtırıp sorunu çözmüştüm ama eminim yine lazım olacaktır. Teşekkürler..