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

                 ?>" > 

textareaのあるフォームがあります。textareaがnullのときにユーザーがボタンを押すと、関数hello()を実行する必要があり、textareaが空でない場合は、関数myRedirect()を実行する必要があります。関数hello()とmyRedirect()は、異なるダイアログボックスを生成します。しかし、それは機能していないようです。このコードの何が問題になっていますか?

4

6 に答える 6

4

そのようなことは不可能です。JavaScript(onlick)はクライアントブラウザで実行され、PHPはサーバーで実行されます。本当にPHPコードを実行する必要がある場合は、AJAXを使用して、サーバーにPHP部分を実行するための別の要求を送信する必要があります。

于 2009-09-12T06:40:25.117 に答える
1

javascriptからPHPコードを呼び出そうとしているので、まったく機能しないと思います。言い換えると、PHPはサーバー側のスクリプト言語であり、実行するために送信する必要のあるサーバー側のコードを実行しようとしています。

この機能を実現するには、このコードを書くだけです。

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

PHPページの上部にあると、必要なものを取得できます。または、入力タイプを「送信」にします

于 2009-09-12T06:44:47.837 に答える
1

ボックスの値をチェックするだけの場合は、Javascriptが必要です...これは正常に機能するはずです。

<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>

チェックするテキストボックスのIDをcheck()関数に渡すと、ボックスに何かが入力されているかどうかが検出されます。ある場合は、テキストボックスに何かがある場合は関数「is_null()」および「is_not_null()」を呼び出します。

于 2009-09-12T06:47:16.360 に答える
0

onclickイベントで実行したいものを実行するには、おそらくサーバーへのポストバックが必要です。

別の回避策は、AJAXを使用することです。

于 2009-09-12T06:41:41.867 に答える
0

クライアント側とサーバー側を混同していませんか?これはあなたが求めているものですか?

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

<input type="submit" name="continue" id="continue" value="Continue">
于 2009-09-12T06:43:06.170 に答える
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>
于 2009-09-12T06:44:49.953 に答える