php
  • jquery
  • 2011-07-06 3 views 5 likes 
    5

    J'utilise remy sharp's hint plugin.

    <input type="text" title="hint" name="names" class="input" /> 
    

    Mais quand je poste le formulaire sans remplir les champs, l'entrée a encore

    $_POST['names'] = 'hint'; 
    

    Comment puis-je éviter ce problème?

    Merci d'avance.

    EDIT: Code jQuery:

    $(".input").hint(); 
    
    $(".lSubmit").click(function(e){ 
        e.preventDefault(); 
        $.post('form.php',decodeURIComponent($("#forms").serialize()) , function(data) { 
        $('.result').html(data); 
        }); 
    }); 
    
    +0

    C'est tout à fait bizarre , en regardant le code des plugins et la démo, il semble supprimer l'indice lorsque le formulaire est soumis. Ignorez-vous les formulaires par défaut? –

    +0

    @ Björn, j'ai édité ma question, merci – utopia

    Répondre

    3

    Le plugin supprime l'indice lui-même lorsque la forme l'entrée est en obtient soumis, malheureusement, vous ne soumettez pas la forme, mais l'affichage via $.post.

    La façon la plus simple serait sans doute de vérifier la valeur (s) de l'entrée (s) juste avant qu'il ne soit soumis contre son titre, et l'effacer si elles sont les mêmes:

    $(".lSubmit").click(function(e){ 
    
        // clear inputs that still have the hint as value 
        $('.input').each(function() { 
         if($(this).val() == $(this).attr('title')) { 
         $(this).val(""); 
         } 
        }); 
    
        e.preventDefault(); 
        $.post('form.php',decodeURIComponent($("#forms").serialize()) , function(data) { 
        $('.result').html(data); 
        }); 
    }); 
    
    0

    Tu ne peux pas.

    Il suffit d'ajouter une instruction if à votre code:

    if($_POST['names'] == 'hint') { 
        //DONT USE IT!! 
    } 
    
    Questions connexes