Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用文本框输入替换php变量_Javascript_Php_Html_Onclick - Fatal编程技术网

Javascript 用文本框输入替换php变量

Javascript 用文本框输入替换php变量,javascript,php,html,onclick,Javascript,Php,Html,Onclick,好吧,我对php、javascript和html感到困惑,不知道该怎么办。在研究互联网时,我发现js是客户端,php是服务器端。当php文件在浏览器上运行时,它会将所有内容转换为html并加载页面。现在让我告诉你们我在做什么 我有一个php文件,它提供了特定url的一些统计信息(在示例中,我只是显示url) 这里的结果是相同的。唯一的区别是它在结果上方有一个文本框和按钮。 当我在文本框中输入另一个url并按submit时,它不会执行任何操作,可能是因为页面已经加载。我想将www.example.

好吧,我对php、javascript和html感到困惑,不知道该怎么办。在研究互联网时,我发现js是客户端,php是服务器端。当php文件在浏览器上运行时,它会将所有内容转换为html并加载页面。现在让我告诉你们我在做什么

我有一个php文件,它提供了特定url的一些统计信息(在示例中,我只是显示url)

这里的结果是相同的。唯一的区别是它在结果上方有一个文本框和按钮。
当我在文本框中输入另一个url并按submit时,它不会执行任何操作,可能是因为页面已经加载。我想将
www.example.com
的结果替换为在文本框中输入的结果,而不更改.php文件。.php文件中始终会有一个默认url。无论何时在浏览器中打开文件,都会显示默认统计信息。。。只有当用户输入新的url并单击submit时,统计信息才会更改

我怎样才能做到这一点?我支持这一点已经有两个多小时了,不知道如何完成。请帮帮我。。。。多谢各位

编辑
我可以有两个.php文件吗?一个用于用户输入url并提交,另一个用于获取输入的url并回显?如果是,如何进行?如果我理解了这个逻辑,我就可以开始我的工作了。

我认为您正试图用js函数做更多的工作,但从语法上讲,它是js和php的结合。应该是这样的

function myFunction() {
   var url = document.getElementById('myurl').value;
}
虽然这实际上不做任何其他事情,但是将文本框的内容分配给变量

编辑


函数myFunction(){
document.getElementById('url').innerHTML=document.getElementById('myurl').value;
}


URL=
我认为您正在尝试更多地使用js函数,但从语法上讲,它是js和php的结合。应该是这样的

function myFunction() {
   var url = document.getElementById('myurl').value;
}
虽然这实际上不做任何其他事情,但是将文本框的内容分配给变量

编辑


函数myFunction(){
document.getElementById('url').innerHTML=document.getElementById('myurl').value;
}


URL=
如果要将url写回php文件,则natzim是正确的。如果使用javascript更改表单的操作,它将提交到不同的页面

//javascript
function myFunction() {
   //this should change the page that loads after submit.
   //If you want to go to a new page that the user enters, leave this code in...
   //If not, remove it
   document.getElementsByTagName("form")[0].action = document.getElementById("myUrl").value;
}
这是假设您在某处有一个表单标记(您需要提交页面)。此外,如果您使用提交而不是按钮,我不确定此代码是否会运行。如果您使用按钮,则可以将其附加到上面的代码以提交表单:

//This would be part of your myFunction if you used a button instead of a submit input
document.getElementsByTagName("form")[0].submit();
根据我的评论-

这段代码是您的旧php:

<?
$url="www.example.com";
echo "URL = " .$url;
?>

这就是我建议的php:

<?php
$url=isset($_POST['myurl']) ? $_POST['myurl'] : 'www.example.com'; 
echo "URL = " .$url; 
?>

这将检查提交给服务器的myurl输入,并将$url的值设置为其值(如果存在),然后$url变量将被回显到输入下的页面

此代码假设您在提交表单时使用的是POST方法而不是GET方法

**编辑:**

澄清一下-这是我建议的修改页面。(请忽略上面的javascript,因为您似乎不需要它):





如果要将url写回php文件,则natzim是正确的。如果使用javascript更改表单的操作,它将提交到不同的页面

//javascript
function myFunction() {
   //this should change the page that loads after submit.
   //If you want to go to a new page that the user enters, leave this code in...
   //If not, remove it
   document.getElementsByTagName("form")[0].action = document.getElementById("myUrl").value;
}
这是假设您在某处有一个表单标记(您需要提交页面)。此外,如果您使用提交而不是按钮,我不确定此代码是否会运行。如果您使用按钮,则可以将其附加到上面的代码以提交表单:

//This would be part of your myFunction if you used a button instead of a submit input
document.getElementsByTagName("form")[0].submit();
根据我的评论-

这段代码是您的旧php:

<?
$url="www.example.com";
echo "URL = " .$url;
?>

这就是我建议的php:

<?php
$url=isset($_POST['myurl']) ? $_POST['myurl'] : 'www.example.com'; 
echo "URL = " .$url; 
?>

这将检查提交给服务器的myurl输入,并将$url的值设置为其值(如果存在),然后$url变量将被回显到输入下的页面

此代码假设您在提交表单时使用的是POST方法而不是GET方法

**编辑:**

澄清一下-这是我建议的修改页面。(请忽略上面的javascript,因为您似乎不需要它):





您正在混合使用PHP和JavaScript。如果您希望将数据发送到PHP文件,请查找
XMLHttpRequest
。这就是我的想法。我没有向任何文件发送数据。我不知道怎么解释。加载页面时,它将显示url的统计信息,如果我更改url,则在同一页面上的统计信息将更改,而不会重定向。这里的stats意味着只回显$url变量的内容。是的,您可以有2个php文件。您混合了php和JavaScript。如果您希望将数据发送到PHP文件,请查找
XMLHttpRequest
。这就是我的想法。我没有向任何文件发送数据。我不知道怎么解释。加载页面时,它将显示url的统计信息,如果我更改url,则在同一页面上的统计信息将更改,而不会重定向。这里的stats意味着只回显$url变量的内容。是的,您可以有2个php文件。我试过了,但正如您所说,它没有任何作用。我希望在页面初始加载时显示的初始回显被替换为在文本框中输入的回显。然后,您需要将该url放入带有id的span(或某种html元素)中,并对其进行更改。php就是这样的
。js应该是
document.getElementById('url')。innerHTML=url
。这将是您的
myFunction()
function()的第二行。我更新了我的答案,将上面的注释包括在内,尽管这除了更改页面上的文本外,实际上并没有做任何其他事情。它正在按照我的意愿工作。我正在努力理解逻辑。非常感谢。。但是在联合国之后