Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    Uscire da javascript per entrare in php e poi ancora in js

    Ciao a tutti,

    non so se il titolo è chiaro ma dovrei, presa una funzione javascript che procude un errore se un campo risulta vuoto, poter stampare tale errore con una costante in php.

    In pratica:

    Codice PHP:
    function checkCategoryForm()

    {

        
    with (window.document.frmCategory) {

            if (
    isEmpty(txtName'Enter category name' )) {

                return;

            } else if (
    isEmpty(mtxDescription'Enter category description')) {

                return;

            } else {

                
    submit();

            }

        }


    Data la funzione qua sopra avrei bisogno di stampare al posto di:

    Enter category name
    Enter category description

    il contenuto di queste due costanti:

    Codice PHP:
    define 'errorName''Enter category name'true );
    define 'errorDescription''Enter category description'true ); 
    In pratica dovrei sostituire i due messaggi di errore nella funzione js con le costanti definite qua sopra.
    Qualcuno sa come uscire da js, entrare in php, uscire da php e rientrare in js in una funzione js ?

    Dovrebbe diventare qualcosa di simile a:
    Codice PHP:

    function checkCategoryForm()

    {

        with (window.document.frmCategory) {

            if (isEmpty(txtName, '<?php echo errorName?>' )) {

                return;

            } else if (isEmpty(mtxDescription, '<?php echo errorDescription?>')) {

                return;

            } else {

                submit();

            }

        }

    }
    Ma non funziona in quanto stampa letteralmente: <?php echo erroName; ?> o Description

    Grazie

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,509
    Non puoi fare così.
    Quando si arriva a Javascript, PHP è già passato, questo perché PHP è eseguito solo sul server, JS invece sul client (il tuo pc) dopo che il server ha prodotto la pagina da visualizzare.
    O fai fare i controlli a PHP e in base ai risultati usi gli echo, oppure i testi li inserisci con innerHTML o altri sistemi per inserire o modificare testi.

  3. #3
    Originariamente inviato da Alhazred
    Non puoi fare così.
    Quando si arriva a Javascript, PHP è già passato, questo perché PHP è eseguito solo sul server, JS invece sul client (il tuo pc) dopo che il server ha prodotto la pagina da visualizzare.
    O fai fare i controlli a PHP e in base ai risultati usi gli echo, oppure i testi li inserisci con innerHTML o altri sistemi per inserire o modificare testi.
    che brutta notizia

  4. #4
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    ma intendi dire che anche nel codice sorgente della pagina visualizzi <?php ... ?>

    se è così, prova a togliere gli apici dal parametro della funzione isEmpty (immagino che questa verifichi il campo e poi lo riempia con il messaggio di errore)

    chiedo umilmente perdono se ho cannato...

  5. #5
    Originariamente inviato da clasku
    ma intendi dire che anche nel codice sorgente della pagina visualizzi <?php ... ?>

    se è così, prova a togliere gli apici dal parametro della funzione isEmpty (immagino che questa verifichi il campo e poi lo riempia con il messaggio di errore)

    chiedo umilmente perdono se ho cannato...
    Ciao prima di tutto grazie per la risposta.

    Se tolgo gli apici e metto un istruzione php quando provo a testare il tutto non produce nessun tipo di risultato.

  6. #6
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    non saprei, prova a postare anche il codice di isEmpty, vediamo se il problema può essere lì...
    ho testato questo codice poco fa e funzionava
    Codice PHP:
    function checkCategoryForm() 

    {     with (window.document.frmCategory) { 
            if (txtName.value == "") {
                txtName.value = "<?php echo errorName?>";
                 
            }
            
            else if (txtDescription.value == "") { 
                txtDescription.value = "Have a nice day!"
                
                return; 

            } else { 

                submit(); 

            } 
        }
    }
    il codice risiede nella stessa pagina del form, subito dopo la definizione delle due costanti

  7. #7
    Originariamente inviato da clasku
    non saprei, prova a postare anche il codice di isEmpty, vediamo se il problema può essere lì...
    ho testato questo codice poco fa e funzionava
    Codice PHP:
    function checkCategoryForm() 

    {     with (window.document.frmCategory) { 
            if (txtName.value == "") {
                txtName.value = "<?php echo errorName?>";
                 
            }
            
            else if (txtDescription.value == "") { 
                txtDescription.value = "Have a nice day!"
                
                return; 

            } else { 

                submit(); 

            } 
        }
    }
    il codice risiede nella stessa pagina del form, subito dopo la definizione delle due costanti
    Ciao ... il codice di isEmpty

    codice:
    function isEmpty(formElement, message) {
    
    	formElement.value = trim(formElement.value);
    
    	
    
    	_isEmpty = false;
    
    	if (formElement.value == '') {
    
    		_isEmpty = true;
    
    		alert(message);
    
    		formElement.focus();
    
    	}
    
    	
    
    	return _isEmpty;
    
    }
    risiede in un file di nome common.js ed è parte delle librerie comuni, mentre quello che ho postato prima risiede nei componenti del pannello di controllo.

    Come ti funziona ?

    A me il popup alert appare quello si ma o vuoto o con letteralmente il codice php dentro

  8. #8
    evidentemente i files .js non vengono elaborati dal php (come giusto che sia).

    Se puoi configurare il server devi fare in modo che anche i .js vengano elaborati, oppure (molto meglio) rinominare il file common.js in common.js.php

  9. #9
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    Codice PHP:
    <?php
    define 
    'errorName''Enter category name'true ); 
    define 'errorDescription''Enter category description'true );

    ?>
    <html>
        <head>
            <script type="text/javascript" src="common.js"></script>
            
            <script language = "javascript">
            
            function checkCategoryForm() 
            
            { 
            
                with (window.document.frmCategory) { 
            
                    if (isEmpty(txtName, '<?php echo errorName?>' )) { 
            
                        return; 
            
                    } else if (isEmpty(txtDescription, '<?php echo errorDescription?>')) { 
            
                        return; 
            
                    } else { 
            
                        submit(); 
            
                    } 
            
                } 
            
            } 
            
            </script>
        </head>
        
        </body>

            <form name ="frmCategory" action="">
                <input type="text" name="txtName">
                <input type="text" name="txtDescription">
                <input type="button" value="clicca" onClick="checkCategoryForm()">
            </form>
        </body>
    </html>
    a me così funziona:
    - form con lo script "checkCategoryForm()" nella stessa pagina;
    - inclusione di "common.js"

  10. #10
    Originariamente inviato da clasku
    Codice PHP:
    <?php
    define 
    'errorName''Enter category name'true ); 
    define 'errorDescription''Enter category description'true );

    ?>
    <html>
        <head>
            <script type="text/javascript" src="common.js"></script>
            
            <script language = "javascript">
            
            function checkCategoryForm() 
            
            { 
            
                with (window.document.frmCategory) { 
            
                    if (isEmpty(txtName, '<?php echo errorName?>' )) { 
            
                        return; 
            
                    } else if (isEmpty(txtDescription, '<?php echo errorDescription?>')) { 
            
                        return; 
            
                    } else { 
            
                        submit(); 
            
                    } 
            
                } 
            
            } 
            
            </script>
        </head>
        
        </body>

            <form name ="frmCategory" action="">
                <input type="text" name="txtName">
                <input type="text" name="txtDescription">
                <input type="button" value="clicca" onClick="checkCategoryForm()">
            </form>
        </body>
    </html>
    a me così funziona:
    - form con lo script "checkCategoryForm()" nella stessa pagina;
    - inclusione di "common.js"
    Così funziona anche a me. Adesso devo solo travere il modo di tenerli in file separati altrimenti mi tocca copiare la funzione js un mucchio di volte.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.