PHP中的<script>部分的值怎么传递出来呢?
代码<?..............echo"$DH";.................?><HTML><scripttype="text/javascript">fu...
代码<?
..............
echo "$DH";
.................
?>
<HTML>
<script type="text/javascript">
function test1()
{
var a = "abc";
//alert(a);
$("#DH").val(a);
}
</script>
<HEAD>
<TITLE> 我的个人主页 </TITLE>
</HEAD>
<BODY>
<table>
<table class="TableBlock" align="center">
<form method="POST" onsubmit="test1();">
<tr class="TableHeader"><td>编号</td><td><input type="text" name=id value="<?=$DH?>"></td></tr>
<tr class="TableHeader"><td>操作</td><td><input type="submit" value="显示"></td></tr>
</form>
<table>
....................
为什么我点击了“显示”之后,PHP部分的echo和HTML部分的value="<?=$DH?>">都取不到值呢?
JS部分的值是如何传递到PHP和HTML部分的啊?!!!
初学者见谅,结合你的指导,我看了下示例程序,是不是能这样理解:实际上PHP和JS之间的交流大部分都是通过HTML转的?例如我用document.getElementById('dh').value = a给id=dh的某个标签(input type="text" id="dh" name="a" value="<?=$DH?>">
)赋值,然后再php部分有echo输出,但实际上echo输出的值并不是直接来自于js,而是根据表单中name为a的值? 展开
..............
echo "$DH";
.................
?>
<HTML>
<script type="text/javascript">
function test1()
{
var a = "abc";
//alert(a);
$("#DH").val(a);
}
</script>
<HEAD>
<TITLE> 我的个人主页 </TITLE>
</HEAD>
<BODY>
<table>
<table class="TableBlock" align="center">
<form method="POST" onsubmit="test1();">
<tr class="TableHeader"><td>编号</td><td><input type="text" name=id value="<?=$DH?>"></td></tr>
<tr class="TableHeader"><td>操作</td><td><input type="submit" value="显示"></td></tr>
</form>
<table>
....................
为什么我点击了“显示”之后,PHP部分的echo和HTML部分的value="<?=$DH?>">都取不到值呢?
JS部分的值是如何传递到PHP和HTML部分的啊?!!!
初学者见谅,结合你的指导,我看了下示例程序,是不是能这样理解:实际上PHP和JS之间的交流大部分都是通过HTML转的?例如我用document.getElementById('dh').value = a给id=dh的某个标签(input type="text" id="dh" name="a" value="<?=$DH?>">
)赋值,然后再php部分有echo输出,但实际上echo输出的值并不是直接来自于js,而是根据表单中name为a的值? 展开
3个回答
展开全部
基本问题都没搞清楚。
PHP是服务器端,JS是客户端。
当你向服务器请求一个页面的时候,PHP就会接手处理页面逻辑,然后把结果发回来,也就是服务器应答了你的要求。当服务器传送完数据的时候,你和服务器之间的连接就中断了。
这个时候你的浏览器接到了服务器传送来的数据,然后才开始解析运行其中的JS代码。
到这里不知道你明白了没有?即PHP必然执行在JS之前。所以PHP可以很简单的同页面把值传递给JS,但是JS就不可能同页面把值传递给PHP。
但是你可以使用ajax,ajax实际上是JS对服务器又发起了新的请求,所以严格来说不能算同页面了。
------------------------------------------
不是。
首先HTML和javascript对于服务器端来说,都只是一段文本而已,不会进行任何逻辑处理,你能看到的所有网页,不是服务器展示给你看,而是服务器把这段文本发给你,然后你的浏览器处理之后展示给你看的。
而PHP程序则是一段逻辑处理,一般来说这个逻辑处理的结果是生成一段文本,然后服务器把这个动态生成的文本和原来的HTML,javascript文本一起发送给你的浏览器。
举例而言,我们来看看这段例文里面 value="<?=$DH>" 代表什么含义。
首先你必须了解<?php echo "hello world" ?>的含义。
PHP处理这一段逻辑的结果是动态生成一段文本并输出(echo)。
那么,假设$DH="hello world"
(源代码) value="<?=$DH>" ==> value="<?php echo “hello world” ?>" ==> value="hello world"(PHP处理结束,服务器开始发送文本数据)。
换句话说,对PHP来说,结果是HTML还是javascript它是不关心的,它只是输出一个文本而已。
所以你也可以用下面这种写法从PHP给javascript传值:
<script>
var sample=<?=$sample?>
</script>
回到你最开始的问题,关键在于$DH的值,如果你看懂了我上面说的这些内容,那么你就会明白这个值不可能来自HTML或者是javascript,必然是在更早之前在PHP中定义过。
PHP是服务器端,JS是客户端。
当你向服务器请求一个页面的时候,PHP就会接手处理页面逻辑,然后把结果发回来,也就是服务器应答了你的要求。当服务器传送完数据的时候,你和服务器之间的连接就中断了。
这个时候你的浏览器接到了服务器传送来的数据,然后才开始解析运行其中的JS代码。
到这里不知道你明白了没有?即PHP必然执行在JS之前。所以PHP可以很简单的同页面把值传递给JS,但是JS就不可能同页面把值传递给PHP。
但是你可以使用ajax,ajax实际上是JS对服务器又发起了新的请求,所以严格来说不能算同页面了。
------------------------------------------
不是。
首先HTML和javascript对于服务器端来说,都只是一段文本而已,不会进行任何逻辑处理,你能看到的所有网页,不是服务器展示给你看,而是服务器把这段文本发给你,然后你的浏览器处理之后展示给你看的。
而PHP程序则是一段逻辑处理,一般来说这个逻辑处理的结果是生成一段文本,然后服务器把这个动态生成的文本和原来的HTML,javascript文本一起发送给你的浏览器。
举例而言,我们来看看这段例文里面 value="<?=$DH>" 代表什么含义。
首先你必须了解<?php echo "hello world" ?>的含义。
PHP处理这一段逻辑的结果是动态生成一段文本并输出(echo)。
那么,假设$DH="hello world"
(源代码) value="<?=$DH>" ==> value="<?php echo “hello world” ?>" ==> value="hello world"(PHP处理结束,服务器开始发送文本数据)。
换句话说,对PHP来说,结果是HTML还是javascript它是不关心的,它只是输出一个文本而已。
所以你也可以用下面这种写法从PHP给javascript传值:
<script>
var sample=<?=$sample?>
</script>
回到你最开始的问题,关键在于$DH的值,如果你看懂了我上面说的这些内容,那么你就会明白这个值不可能来自HTML或者是javascript,必然是在更早之前在PHP中定义过。
展开全部
楼主中的代码好像有几个地方都有问题的。
第一,$DH这个变量基本没值,无视掉了。
第二,楼主没有用到jquery的库,所以不要用$("#DH").val(a);这样的语法,改成
document.getElementById('abc').value = a;这样的。
第三,要显示的那个text没有id的属性,因为上面获取的时候要用到id的属性,如:
input type="text" id="abc" name="abc" value="<?=$DH?>">
第四,onsubmit没有加return 如:onsubmit="return test1();"
第五,JS中改成
function test1()
{
var a = "abc";
//alert(a);
document.getElementById('abc').value = a;
return false;//可以让表单不提交,才看得到text中显示出a值的abc,否则显示一下后就会跳转提交的
}
是根据表单中name为a的值提交后就是用POST或GET,你PHP部分用$a = $_POST['a']或$_GET['a']去接收。再说个,id和name最好是一样的,<input type="text" id="a" name="a" value="<?=$DH?>">
第一,$DH这个变量基本没值,无视掉了。
第二,楼主没有用到jquery的库,所以不要用$("#DH").val(a);这样的语法,改成
document.getElementById('abc').value = a;这样的。
第三,要显示的那个text没有id的属性,因为上面获取的时候要用到id的属性,如:
input type="text" id="abc" name="abc" value="<?=$DH?>">
第四,onsubmit没有加return 如:onsubmit="return test1();"
第五,JS中改成
function test1()
{
var a = "abc";
//alert(a);
document.getElementById('abc').value = a;
return false;//可以让表单不提交,才看得到text中显示出a值的abc,否则显示一下后就会跳转提交的
}
是根据表单中name为a的值提交后就是用POST或GET,你PHP部分用$a = $_POST['a']或$_GET['a']去接收。再说个,id和name最好是一样的,<input type="text" id="a" name="a" value="<?=$DH?>">
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<input type="text" id="<?=$DH?>" name=id value="">
这样?
这样?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询