2009-09-12 5 views
0
<input type="button" name="continue" id="continue" value="Continue" onclick="<? 
      if($_POST['rules']==null) { 
       echo "hello();"; 
       } 
      elseif($_POST['rules']!=null) { 
       echo "myRedirect();"; 
      } 

       ?>" > 

J'ai un formulaire avec une zone de texte. Lorsque l'utilisateur frappe le bouton quand la zone de texte est nulle, il doit faire la fonction bonjour() et si la zone de texte n'est pas vide, elle doit faire la fonction myRedirect(). la fonction hello() et myRedirect() génèrent différentes boîtes de dialogue. mais cela ne semble pas fonctionner. Quel est le problème avec ce code?mettre des codes php sur l'événement onclick d'un bouton

+1

Pourquoi ne pouvez-vous pas éditer vos anciennes questions? http://stackoverflow.com/questions/1414422/help-in-php-button – Shoban

Répondre

4

Ce n'est pas possible comme ça. JavaScript (onlick) s'exécute dans le navigateur client pendant que PHP s'exécute sur votre serveur. SI vous avez vraiment besoin d'exécuter du code PHP, vous devez utiliser AJAX pour envoyer une autre requête pour que votre serveur fasse partie de PHP.

0

Vous avez probablement besoin d'une publication sur le serveur pour exécuter tout ce que vous voulez exécuter dans l'événement onclick. Un autre travail consiste à utiliser AJAX.

0

Mélangez-vous côté client et côté serveur? Est-ce ce que vous cherchez?

<?php 
if($_POST['rules'] == null) { 
    echo "hello"; 
} else { 
    myRedirect(); 
} 
?> 

<input type="submit" name="continue" id="continue" value="Continue"> 
1

Je pense que cela ne fonctionnera pas du tout parce que vous essayez d'appeler un code PHP depuis javascript. En d'autres termes PHP est un langage de script côté serveur et vous essayez d'exécuter un code côté serveur qui doit être soumis pour être exécuté.

Pour obtenir cette fonctionnalité, vous pouvez simplement écrire ce code

if($_POST['rules']==null) 
{ 
    echo "hello();"; 
} 
elseif($_POST['rules']!=null) 
    { 
    echo "myRedirect();"; 
} 

en haut de votre page PHP et vous obtiendrez ce que vous voulez. ou faire le type d'entrée comme « soumettre »

0
<script> 
function hello(){} 
function myRedirect(){} 
function ifnullz(el){ 
    if($(el)!=0){ 
    hello(); 
    }else{ 
    myRedirect(); 
    } 
} 
function $(el){ 
    document.getElementByID(el).length; //.value?? idk.. something like that. 
} 
</script> 

<input onlcick="ifnullz('lolz');"> 
<textarea id="lolz"></ta> 
+0

Hahah, joli nom. – brianreavis

+0

Je pense que j'ai fait un meilleur travail sur celui-ci: http://stackoverflow.com/questions/1410163/how-to-write-a-php-htaccess-script-to-redirect-form-variables-to-another- site Web/1410747 # 1410747 - mais bon, j'essaye;) – Mickey

1

Si vous vérifiez simplement la valeur de la boîte, il vous suffit de Javascript ... Cela devrait bien:

<script type="text/javascript"> 
function check(obj_id){ 
    var result = document.getElementById(obj_id).value; 
    if(result == ""){ 
     is_null(); 
    }else{ 
     is_not_null(); 
    } 
} 

function is_null(){ 
    alert("null"); 
} 

function is_not_null(){ 
    alert("not null"); 
} 
</script> 
<input type="text" id="test" /> 
<button onclick="check('test')">Test</button> 

passer le id de la zone de texte que vous voulez vérifier dans la fonction check(), et il trouve si quelque chose a été entré dans la boîte. Si c'est le cas, il appelle la fonction "is_null()" et "is_not_null()" s'il y a quelque chose dans la zone de texte.

Questions connexes