Error 2 maal submitten

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Bas D L

Bas D L

02/08/2013 07:48:28
Quote Anchor link
Hallo,
Ik heb onderstaand script. Als ik 1 van de 2 velden niet invul krijg ik netjes een error. Vul ik het veld in wat nog niet ingevuld was krijg ik nog een keer een foutmelding en klik ik voor de 2e keer dan pas gaat het goed.
Iemand een idee wat ik verkeerd doe?

Form:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<form id="formid" method="POST" action="/">
<div>
        <label class="title">Title</label>
        <div id="titleError"></div>
        <input type="text" id="title" name="title" value="">
    </div>
    <div>
        <label class="title">Text</label>
        <div id="textError"></div>
        <textarea name="text" id="text" rows="14" cols="50"></textarea><br />

    </div>
    <div>
        <input class="btn btn-success" type="submit" id="submitButton"  name="submitButton" value="Submit">
    </div>
</form>


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
$(document).ready(function() {
    

        $("#formid").submit( function(event) {
            var title = $('#title').val();
            var text = $('#text').val();
            if( title.lenght === 0 || text.length === 0 ){
                if( title.length === 0 ){
                    $("#titleError").html("<p>Title verplicht</p>");
                    return false;
                }
                if( text.length === 0 ){
                    $("#textError").html("<p>Text verplicht</p>");
                    return false;
                }                    
                    
                //$("html, body").animate({ scrollTop: 0 }, 600);
            }
            else{
                tinyMCE.triggerSave();
            
                /* stop form from submitting normally */
                event.preventDefault();
          
                /* Send the data using post */
                var posting = $.post( 'http://xxx.nl/admin/pages/create', {
                    title: $('#title').val(),
                    text:  $('#text').val()
                });

                /* Put the results in the show-content div */
                posting.done(function( data ) {
                    //alert(data);
                    $.ajax({
                        url: "<?php echo base_url() ?>/admin/pages",
                        type: 'GET',
                        success: function(data) {
                            $("#show-content").hide().html( data).fadeIn(1500);
                        }
                        ,
                        error: function() {
                            alert("error");
                        }
            
                    });        
                });    
                
            }      
            //return false;
        });
});    
 
 
PHP hulp

PHP hulp

26/11/2024 13:40:19
 
Kris Peeters

Kris Peeters

05/08/2013 09:54:39
Quote Anchor link
Dat komt door return false op lijn 10 en lijn 14. Na een return wordt de functie verlaten
Zet die dus lager.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
            if( title.lenght === 0 || text.length === 0 ) {  // jouw lijn 7
                if( title.length === 0 ){
                    $("#titleError").html("<p>Title verplicht</p>");
                }
                if( text.length === 0 ){
                    $("#textError").html("<p>Text verplicht</p>");
                }                    
                return false;
            }  // jouw lijn 18



----

Trouwens, je zou dit met POST moeten sturen, niet met GET.
Net zoals zonder ajax:
formulieren waarbij de gebruiker informatie post naar de website, kunnen best met POST.
Gewijzigd op 05/08/2013 10:19:05 door Kris Peeters
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.