data uit array in if statement is leeg

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Wouter Van Marrum

Wouter Van Marrum

12/04/2014 01:01:47
Quote Anchor link
Hallo iedereen,

Ik gebruik een plugin voor ckeditor om mijn pagina te kunnen wijzigen via contenteditable.
Nou werkt mijn script mooi voor een bepaald pagina type. ( bijv. pagina's, reizen, ect. )
Nu gebruik ik het om pagina's te kunnen wijzigen, maar ik zou graag ook een reis pagina normaal kunnen wijzigen zonder heel moeilijk te doen met jquery.

Ik probeer een if statement uit te voeren zodat ik het pagina type kan bepalen.
voorbeeld code hoe ik het wil gebruiken :
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
var page = jQuery('hidden_tablename').text();
if(page == "pages") {
    var edit_table = jQuery('.hidden_tablename').text();
    var edit_page = jQuery('.hidden_pagename').text();
    var edit_title = jQuery(".dmz-postheader").text();
    var edit_body = editor.getData();
    var generated_id = jQuery('meta[name="generated"]').attr('value');
    /* Put all data in array ! */
} else if(page == 'reizen') {
    var edit_table = jQuery('.hidden_tablename').text();
    var edit_page = jQuery('.hidden_pagename').text();
    var edit_title = jQuery(".dmz-postheader").text();
    var edit_body = editor.getData();
    var generated_id = jQuery('meta[name="generated"]').attr('value');
}

    var data = {
      'table': edit_table,
      'edit_title': edit_page,
      'page_title': edit_title,
      'content': edit_body,
      'dmz_generated_id': 'crf-'+generated_id
      }
    /* End array */
    jQuery.ajax({



        type: "POST",

        //Specify the name of the file you wish to use to handle the data on your web page with this code:
        //<script>var dump_file="yourfile.php";</script>
        //(Replace "yourfile.php" with the relevant file you wish to use)
        //Data can be retrieved from the variable $_POST['editabledata'];
        url: dump_file,        

        data: { editabledata: data }

    })


Hier resultaat wat ik krijg op deze manier :
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
[Array
(
    [editabledata] => Array
        (
            [dmz_generated_id] => crf-undefined
        )

)


ipv

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
[Array
(
    [editabledata] => Array
        (
            [table] => pages
            [edit_title] => home
            [page_title] => Home
            [content] => <p>Dit is een pagina.</p>
            [dmz_generated_id] => c553b1fb93ed0a84e441587cc0f2d1b7
        )

)
 
PHP hulp

PHP hulp

27/11/2024 00:26:13
 
Frank Nietbelangrijk

Frank Nietbelangrijk

12/04/2014 10:35:24
Quote Anchor link
Wat versta jij onder een 'pagina normaal kunnen wijzigen'?

Bedoel je door een <form> te POST-en in plaats van met Ajax?
Gewijzigd op 12/04/2014 10:37:00 door Frank Nietbelangrijk
 
Wouter Van Marrum

Wouter Van Marrum

12/04/2014 10:48:50
Quote Anchor link
Als ik de bewerk knop in de editor klik wordt een post verzoek verzonden.
Alleen alle data die per pagina type verzonden wordt is anders.
Vandaar dat ik een if wil gebruiken om die data op te vangen en dan "normaal via ajax" te verzenden.

Nou krijg ik wel alle data als ik geen if gebruik maar als ik het in een if gooi ben ik me data kwijt en wordt er een lege array verstuurd.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

12/04/2014 11:03:26
Quote Anchor link
Okee maar eigenlijk heb je geen if nodig.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
jQuery('.hidden_tablename').text();


Hier wordt de inhoud gelezen van ALLE elementen waarvan class="hidden_tablename" is.
Dus door de elementen van de andere pagina's deze class attribuut te geven kan het opgelost worden lijkt mij.

Toevoeging op 12/04/2014 11:10:01:

Maar kijk eens naar JQuery.serialize()

https://api.jquery.com/serialize/
 
Wouter Van Marrum

Wouter Van Marrum

12/04/2014 13:39:12
Quote Anchor link
Heb het al opgelost, ben een punt vergeten bij :
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
/* -->> hier punt vergeten. */ var page = jQuery('hidden_tablename').text();
if(page == "pages") {
    ....


Dus het is al opgelost bedankt !
 



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.