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