Javascript 将不在php中工作的代码刮到表单控件
我试图将网页内容刮到我的表单控件中,但没有函数,我得到的是输出,但当我创建函数并分配给按钮单击事件以在文本框中显示输出时,它不起作用,请告诉我哪里出错了Javascript 将不在php中工作的代码刮到表单控件,javascript,php,web-scraping,Javascript,Php,Web Scraping,我试图将网页内容刮到我的表单控件中,但没有函数,我得到的是输出,但当我创建函数并分配给按钮单击事件以在文本框中显示输出时,它不起作用,请告诉我哪里出错了 <script type="text/javascript"> function Assign() { $html = file_get_contents("http://geoportaal.maaamet.ee/url/xgis-ky.php?ky=79401:006:0812"); preg_match_all('(<l
<script type="text/javascript">
function Assign()
{
$html = file_get_contents("http://geoportaal.maaamet.ee/url/xgis-ky.php?ky=79401:006:0812");
preg_match_all('(<li.*?>.*?</li>)', $html, $matches);
$one=$matches[0][0];
document.getElementById("OutputField").value = $one;
}
</script>
<input id="OutputField" type="text" style="width:200px"/>
<input type="button" value="Assign Value" onclick="Assign()"/>
函数赋值()
{
$html=文件\u获取\u内容(“http://geoportaal.maaamet.ee/url/xgis-ky.php?ky=79401:006:0812");
preg_match_all(“(.*?)”,$html,$matches);
$one=$matches[0][0];
document.getElementById(“OutputField”)。值=$1;
}
首先,必须将html、php和javascript代码分开。
我更改了你的代码,你可以试试。
如果你用正确的方法使用它,它会工作的
<?php
$html = file_get_contents("http://geoportaal.maaamet.ee/url/xgis-ky.php?ky=79401:006:0812");
preg_match_all('(<li.*?>.*?</li>)', $html, $matches);
$one=$matches[0][0];
?>
<script type="text/javascript">
function Assign() {
document.getElementById("OutputField").value = "<?=$one?>";
}
</script>
<input id="OutputField" type="text" style="width:200px"/>
<input type="button" value="Assign Value" onclick="Assign()"/>
函数赋值(){
document.getElementById(“OutputField”).value=“”;
}
我希望这对你有帮助。
你必须不断地学习 这里混合了两种不同的执行范例: PHP在服务器端执行。这意味着托管代码的服务器将执行PHP。因此,PHP代码通常对客户端不可见。php代码的执行由客户端请求触发,脚本的输出(例如,由printf函数生成)传递给客户端 但是,Javascript是在客户端执行的。这意味着网站访问者的cpu实际上用于执行代码。该代码对客户端是100%可见的。因此,您在HTML文档脚本标记中粘贴的内容将在客户端执行。客户可以看到它。相反,PHP代码并不意味着直接粘贴到脚本标记中
这些都是非常广义的陈述,总是成立的。然而,他们应该给你一个粗略的草图。有一个很好的答案可以帮助你更好的区分在继续之前,您当然应该学习这些基础知识。哇,一个文字混合体您正在混合JavaScript和PHP-您不能在JavaScript函数中直接运行PHP,如果您想混合使用这两个函数,您必须使用AJAX来运行PHP文件。OMG,使用任何其他方法,同样的代码都可以工作。我很惊讶,为什么它是“-1”,我们在这里学习,我们知道这里有很多天才,但给我们一个学习新事物的机会。欢迎来到stackoverflow,我很惊讶现在还不是-10。正如@JayBlanchard所说,您需要使用Ajax。如果可能的话,我们可以将从另一个文本框单击按钮后的值传递给php,$html=file_get_contents(“);对于这个链接“79401:006:0812”,我们可以在文本框中输入吗?可以,但您需要阅读@smos建议您的信息。因为您必须了解“执行范例”“。我用你的代码向你展示它是如何工作的。但将html、javascript和php代码混合在一个文件中是不好的做法。您的下一个问题可以通过不同的方式解决:您可以使用表单提交或ajax,正如您在前面的问题评论中所看到的。谢谢,我会检查它。