[JS] input field checken of er iets instaat

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Anoniem: 500735

Topicstarter
Goedemiddag,

Ik heb een simpel form met een veldje om een naam in te vullen en een handtekening veld waar je een handtekening kan plaatsen. Nu wil ik graag een check in javascript maken of de 2 input veldjes wel gevuld zijn en dan pas de submit button enablen alleen dat krijg ik nog niet helemaal werkend.
Hieronder de form met de input velden:
code:
1
2
3
4
<input type="text" name="name" id="name" class="input" value="<?php echo $Name; ?>">
<canvas class="signature" width="600" height="200"></canvas>
<input type="hidden" name="output" id="output" class="output">
<input type="submit" id="postsignature" name="postsignature" value="Save" disabled="disabled">


En de name veld wordt automatisch ingevuld en de output veld wordt gevuld wanneer een handtekening krabbel zet in het canvas deel. Alleen nu het probleem, de velden worden automatisch gevuld en dan werkt in javascript de onderstaande code niet die gaat pas werken als ik een handtekening maak en in het name veldje een letter toevoeg dan wordt de button pas actief.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$(document).ready(function() {
   $('.div_signature input').keydown(function() {
        var empty = false;
        $('.div_signature input').each(function() {
            var value = $.trim($(this).val());
            if (value.length == 0) {
                empty = true;
            }
        });

        if (empty) {
            $('.signature_button input').attr('disabled', 'disabled');
        } else {
            $('.signature_button input').removeAttr('disabled');
        }
    });
});


Ik heb ook de onderstaande geprobeerd maar ook hierbij hetzelfde effect.
code:
1
$('.div_signature input').change(function() {


Hoe kan je nu checken of er iets in een input veld staat wat automatisch ingevuld wordt dmv een script en niet door een gebruiker actie ?

Acties:
  • 0 Henk 'm!

  • GlowMouse
  • Registratie: November 2002
  • Niet online
Waarom check je het niet met onsubmit? Dan kun je een melding geven waarom de user niet kan submitten, in plaats van dat de user moet raden waarom de submitbutton het niet doet.

[ Voor 64% gewijzigd door GlowMouse op 12-04-2013 15:14 ]


Acties:
  • 0 Henk 'm!

Anoniem: 296939

GlowMouse schreef op vrijdag 12 april 2013 @ 15:13:
Waarom check je het niet met onsubmit? Dan kun je een melding geven waarom de user niet kan submitten, in plaats van dat de user moet raden waarom de submitbutton het niet doet.
Waarschijnlijk omdat hij de knop pas wil enablen van zodra de check is uitgevoerd. En een submit gaat natuurlijk pas wanneer de knop enabled is :)

Acties:
  • 0 Henk 'm!

Anoniem: 500735

Topicstarter
omdat het form pas uitgeklapt wordt op het moment dat je op een icoontje klikt en als je dan de form post zie je wel de foutmelding maar is het divje ingeklapt en moet ik die ook weer laten uitklappen dat was me ook nog niet gelukt :P

Acties:
  • 0 Henk 'm!

  • spleethoven
  • Registratie: Oktober 2010
  • Laatst online: 24-01-2024
http://jsfiddle.net/KzSqd/9/

Hier krijg je wel een idee

Acties:
  • 0 Henk 'm!

  • Xyzer
  • Registratie: Januari 2007
  • Niet online

Xyzer

Valid XHTML & CSS.

Hij wil alleen dat de submit button automatisch actief wordt en dat gebeurt hier niet.


JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$(document).ready(function(){

    $("#name").keyup(checkInput); // Gaat uiteraard met name om de .keyup() trigger.
    $("#sig").keyup(checkInput);
    
});

function checkInput()
{
    if($("#name").val()!="" && $("#sig").val()!="")
        $("#subbut").removeAttr("disabled");
    else
        $("#subbut").attr("disabled","disabled");
}


Dit werkt dus ook alleen als je code een keyup ontvangt.. (werkt dus waarschijnlijk ook niet)

[ Voor 10% gewijzigd door Xyzer op 12-04-2013 16:20 ]

Hier komt ooit nog wat te staan..


Acties:
  • 0 Henk 'm!

  • krvabo
  • Registratie: Januari 2003
  • Laatst online: 06-07 11:49

krvabo

MATERIALISE!

Dan lijkt me onBlur toch echt een betere keuze.
Al geeft die natuurlijk wel pas een signaal als het inputveld focus verliest.

[ Voor 45% gewijzigd door krvabo op 12-04-2013 16:16 ]

Pong is probably the best designed shooter in the world.
It's the only one that is made so that if you camp, you die.


Acties:
  • 0 Henk 'm!

  • Xyzer
  • Registratie: Januari 2007
  • Niet online

Xyzer

Valid XHTML & CSS.

krvabo schreef op vrijdag 12 april 2013 @ 16:15:
Dan lijkt me onBlur toch echt een betere keuze.
Al geeft die natuurlijk wel pas een signaal als het inputveld focus verliest.
Ook daar heb je het probleem dat het pas actief wordt nadat je de inputvelden hebt gedeselecteerd.

//spuit11

Hier komt ooit nog wat te staan..


Acties:
  • 0 Henk 'm!

  • hiekikowan
  • Registratie: Februari 2011
  • Laatst online: 08:25
Je geeft aan dat je velden automatisch gevuld worden. Gebeurt dit vanuit javascript? Dan is het gewenste prima mogelijk op ongeveer deze manier:

De functie die je velden vult laat je een trigger uitvoeren op het 'change'-event. Vervolgens bind je met jQuery.On het change-event waarna je de lengte van het veld evalueert...

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
function vulVelden(){
      $('input[name=veld1]').val('Automatisch gevuld').trigger('change');
}

$(document).ready(function(){
      // Bind inputs aan events
      $('input[name=veld1]').on('change', function(){
            // Evalueer lengte van velden
      });

      vulVelden();
});

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 15-07 22:01

Creepy

Tactical Espionage Splatterer

Nog even een tikje door naar Webdesign, Markup & Clientside Scripting (i.p.v. Programming)

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney

Pagina: 1