执行一个JavaScript脚本

问题描述:

我有使用JavaScript(我敢新进入这个语言)的一个问题执行一个JavaScript脚本

我的问题是内部的PHP脚本:我有一个JavaScript脚本,它增加了表单字段时,你点击一个按钮,然后通过增加它来改变它们的名字。 然后将数据存储到数组中。当我保存完这些填充的字段时,我需要将它们还原并将它们显示为<input type="text" value="<?php $myvalue[] ?>"/>。问题是,我需要将它写入JavaScript文件,我不知道它如何将内部解释为PHP脚本。

这是我已经试过:

var counter = 1; 
var limit = 10; 
var new_div = '<?php echo json_encode($arraySpecialite['+ counter +']); ?>'; 
function addInput(divName){ 
if (counter == limit) { 
     alert('You cannot add more than' + counter + ' fields'); 
} 
else { 
     var newdiv = document.createElement('div'); 
     newdiv.innerHTML = 'Specialité ' + (counter + 1) + ' <br><input type="text" name="specialite[]" id="specialite[]"" value="'+ new_div +'">'; 
     document.getElementById(divName).appendChild(newdiv); 
     counter++; 
} 
} 

感谢的提前。

+0

Javascript在浏览器中运行。浏览器不知道PHP是什么。基本上你不能做你想这样做的事情。 – RiggsFolly

+0

@RiggsFolly基本上说了什么。你可以从PHP获得你需要的任何值,将它们传递给模板,然后在你的js脚本中使用它们。 – Andrew

+0

是的,这就是为什么我正在寻找一种方法。你有什么建议 ? – Rameleu

你可以做的事情型动物:

在返回初始视图PHP,返回包含将保持数据的JavaScript的响应。

如:

<script> 
    var new_div = '<?php echo json_encode(array(1,2,3)); ?>' 
</script> 

所以,如果你的JavaScript在同一范围内运行,或在内部范围内,将有机会获得该变量。

OR

做一个AJAX请求,并从服务器读取

xmlhttp.onreadystatechange=function() { 
    if (xmlhttp.readyState==4 && xmlhttp.status==200) { 
     console.log(xmlhttp.responseText); 
    } 
} 
xmlhttp.open("POST","myscript.php",true); 
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded"); 
xmlhttp.send("name=Shikaka&lastname=Ventura"); 

响应时myscript.php收到它要求工作(请确保您躲避值)然后返回回应

<?php 
    echo json_encode(array(1,2,3)); 

当您向服务器提交HTTP请求时(服务器,POST,GET等),服务器将读取您的服务器脚本并相应地执行操作,但使用JavaScript时,它是您的网络浏览器的行为人。如果你想让你的脚本工作,你需要做以下的事情。

  1. 写一个独立的PHP脚本(它自己的文件)。

  2. 使用Javascript向PHP脚本提交HTTP请求(您可以发送任何你想要的)。

  3. 从PHP文件访问响应并执行任何您想要的操作。

+0

答案的最后部分是正确的,但第一部分是混淆的。 PHP无法执行JavaScript和反之亦然。但PHP可以在响应中嵌入JavaScript,然后可以执行它,并且Javascript可以在请求中嵌入PHP,并且也可以在PHP端执行。 – ecarrizo

+1

我会编辑以适应。 – ScarletMerlin