Na FreeHostingu Endora běží desítky tisíc webů. Přidejte se ještě dnes!

Vytvořit web zdarma

Na FreeHostingu Endora běží desítky tisíc webů. Přidejte se ještě dnes!

Vytvořit web zdarma
Jak vymáčknout formulář pomocí JavaScriptu

Jak vymáčknout formulář pomocí JavaScriptu

Nějaký čas zpět, jsem se snažil cvičně se zabývat zpracováváním dat z formuláře pomocí Javascriptu, a musel jsem konstatovat, že tento jazyk nemá žádnou komplexní možnost, jak získat data, která do formulářů zadáme v takové podobě, jako je to možné např. v PHP. Proto jsem napsal funkci, která snad bude schopná takový úkol zvládnout. Zde ji přikládám:

Vycházím z toho, že

  • pro textové vstupy (type=“text password hidden“, <textarea>) budu chtít získat zadaný text (value)
  • u přepínacích (radio) boxů budu chtít hodnotu (value) právě zvolené možnosti
  • u zaškrtávátek budu chtít hodnotu, pokud jsou zaškrtnuté (value)
  • u výběru z možností (<select>) budu chtít hodnotu právě vybrané možnosti (<option>)
  • a u tlačíítek, pokud budou stisknuty, hodnotu (ikdyž… k čemu tlačítka 🙂 ?)

Skript funguje pomocí knihovny funkcí JQuery, se kterou poslední dobou učím (a cpu ji kde se dá 😉 ). Pokud jsem něco vynechal, nebo pokazil, pište prosím do komentářů pod článkem 🙂

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script type="text/javascript">
function inpvalue(obj) {
    var tagtype = obj.prop("tagName");
    
    if(tagtype==='INPUT')    {
        if(obj.attr('type')==='checkbox'){
            if(obj.prop('checked'))var retval=obj.val();
        }
        if(obj.attr('type')==='text' || obj.attr('type')==='password' || obj.attr('type')==='hidden'){
            var retval=obj.val();
        }
        if(obj.attr('type')==='radio'){
            var elname=obj.attr('name');
            var retval=$('input[name='+elname+']:checked').val();
            
        }
        if(obj.attr('type')==='file'){
            var retval=obj.val();
        }
    }
    
    if(tagtype==='TEXTAREA')
        var retval=obj.val();
    
    if(tagtype==='BUTTON')
        var retval=obj.val();
    
    if(tagtype==='SELECT')
        var retval=obj.val();
    
    if(retval.length<1)return false;
    return retval;
}
var formvalue=inpvalue(jQuery('#idEL'));
</script>

Napsat komentář

Time limit is exhausted. Please reload CAPTCHA.

This site uses Akismet to reduce spam. Learn how your comment data is processed.