我能用PHP实现这个吗?

3

考虑以下情况:

  <html>
      <head>
          <title>txt with js eff</title>
      </head>

      <body>
          <script type = "text/javascript">
              function transfer(which) {
                  document.getElementById("temp_name").value = which;
              }
          </script>

          <form action="" method="post" name="frm1">
              <label> In put 1 </label>
              <input
                type="text"
                name="username"
                id = "username"
                onkeyup = "transfer(this.value)"><br/><br/>

              <label> In put 2 </label>
              <input
                type="text"
                name="temp_name"
                id = "temp_name">
          </form>
      </body>
  </html>

我需要使用PHP完成以下操作:

当用户将光标聚焦到下一个字段时,我需要从“In put 1”传递值到“In put 2”。我可以很容易地使用JavaScript完成此操作,但我需要使用PHP。

有解决方案吗?


2
我认为投票反对这个问题的人是一个脾气暴躁的人,应该多想一想我们在这里的原因。 - Sky Sanders
+1 Umanda,欢迎来到 Stack Overflow。 - Sampson
为什么你需要从PHP做这件事,也许同样的问题是为什么你不想在js中做它? - Don
问题是,“你为什么要用PHP来做那件事?” :S - feragusper
5个回答

12

这种类型的操作不是使用PHP完成的,而是使用Javascript。PHP仅在服务器上运行。您需要将此页面提交回服务器,让PHP编写一段javascript代码,使得加载完页面后会聚焦特定字段,然后将其发送回给用户。简而言之,即使您通过PHP找到了一种方法来实现它,最终还是需要使用Javascript。


6

PHP是一种服务器端语言,它的工作仅仅是生成浏览器将呈现的文档。因此,一旦创建了该文档,就无法更改。这需要像JavaScript这样的客户端语言来完成。你所描述的鼠标悬停效果绝对是客户端的工作。

你可以通过新值向服务器请求页面,但我认为这不是你想要做的。


2

乔纳森是正确的,你不能在PHP中这样做。

然而,你将代码放在引号中,这让我相信这段代码是在字符串中,并且你正在向用户展示它,在这种情况下,在执行时两个输入框都不会有值。这是什么应用程序?


@Senica:希望你不介意,我添加了一个链接到你的参考资料,以防我们的帖子之间的接近程度增加。 - Sampson

0

用户要么在“做”某事,要么在“请求”某事。

如果用户只是在“做”某事,则所有操作都在浏览器中进行,例如阅读、输入等。用户通过单击链接或按下按钮来请求某些内容。响应用户请求的程序是用PHP编写的,而PHP运行在服务器上。响应用户操作的程序是用JavaScript编写的,并在浏览器中运行。


0
也许你想保存这些值。在 JavaScript 中进行更改后,只需调用提交方法,然后将其保存在数据库或会话中,或者其他地方。或者,您可以发出 Ajax 请求以避免页面重新加载,但真的很难知道您试图实现或理解什么。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接