将php代码放在按钮的onclick事件上

时间:2009-09-12 06:35:22

标签: php javascript dialog onclick

<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()生成不同的对话框。但它似乎没有用。这段代码出了什么问题?

6 个答案:

答案 0 :(得分:4)

这样的可能性不大。当PHP在您的服务器上执行时,JavaScript(onlick)在客户端浏览器中执行。如果你真的需要执行PHP代码,你应该使用AJAX发送另一个请求,让你的服务器做PHP部分。

答案 1 :(得分:1)

我认为它根本不起作用,因为你试图从javascript调用PHP代码。 换句话说,PHP是一种服务器端脚本语言,您正在尝试执行需要提交的服务器端代码才能执行。

要实现此功能,您只需编写此代码

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

位于PHP页面的顶部,您将获得所需内容。或将输入类型设为“提交”

答案 2 :(得分: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()”。

答案 3 :(得分:0)

您可能需要回发到服务器以执行您想要在onclick事件中运行的任何内容。

另一种解决方法是使用AJAX

答案 4 :(得分:0)

您是在混淆客户端和服务器端吗?这就是你要追求的吗?

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

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

答案 5 :(得分: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>