将表单值传递给 PHP 包含在 HTML DOM innerHTML 中
Posted
技术标签:
【中文标题】将表单值传递给 PHP 包含在 HTML DOM innerHTML 中【英文标题】:Passing form Value into PHP include inside HTML DOM innerHTML 【发布时间】:2017-02-05 12:06:03 【问题描述】:我正在尝试将 <select>
下拉列表中的值传递到 html DOM innerHTML JS 中,以便将其写入页面上的 div 中。但是,我希望将值传递到 php 包含中,以便在更改下拉列表时更改包含的 php 内容传递到 div 中。
我已经让它工作,将值传递到 innerHTML 中,而无需将其包装在 php 包含中。所以它会以“purple.php”而不是文件本身的形式写入 div,但是当我尝试将其包装在包含中时,它会中断。
这就是我到目前为止所做的。
感谢您的意见,我已经搜索无济于事。
<script>
function gift(value)
document.getElementById("gift_post").innerHTML=('<?php echo include (value);?>');
</script>
<form action="" method="post">
<select name="slct" id="name" onchange="gift(this.value)">
<option value="" selected="selected"> Select </option>
<option value="purple.php"> purple </option>
<option value="green.php"> green </option>
<option value="blue.php"> blue </option>
</select>
</form>
<div id="gift_post"></div>
【问题讨论】:
PHP 由服务器端首先处理。 javascript 在客户端工作。所以,这是你的问题。您正在尝试动态更改已处理的值。用jQuery.ajax()异步工作怎么样? 感谢@FernandoMiguel 的建议。这实际上是我第一个直接使用 AJAX 的项目,我不熟悉 jQueryAjax。我现在在这里api.jquery.com/jquery.ajax 阅读它。还有其他建议吗? 【参考方案1】:感谢@O.Rares 在您的帮助下,我得以解决。我从您的建议中删除了它,因为 .php 在值中,因此不需要将其传递给 var。这样就可以剥离了。然后,如果我要使用 .load() 函数而不是 php_include 我不必担心将 .php 注入到 innerHTML 函数中,因为它可以直接与表单值一起传递。所以我最终得到了这个,它工作得很好。 (注意:由于进一步的 Wordpress 冲突,“$”已更改为“jQuery”。)
<script>
function gift(value)
jQuery("#gift_post").load(value);
</script>
<form action="" method="post">
<select name="slct" id="name" onchange="gift(this.value)">
<option value="" selected="selected"> Select </option>
<option value="purple.php"> purple </option>
<option value="green.php"> green </option>
<option value="blue.php"> blue </option>
</select>
</form>
<div id="gift_post"></div>
【讨论】:
【参考方案2】:function gift(value)
document.getElementById("gift_post").innerHTML=('<?php echo include (' + value + ' ); ?>');
【讨论】:
是的,正如我在最初的帖子中提到的那样,我能够做到这一点。这可以将值作为纯文本传递到#gift_post div,我试图将该值写入 php_include,然后将 php 文件写入#gift_post。 所以试试 $("#gift_post").load(var1);其中 var var1= 值 +".php"; 这将如何实现@O.Rares?就像? $("#gift_post").load(var1); var1= 值 +".php"; 你的意思是加载函数?在这段代码之前添加jquery api。 var1 应该在加载函数之前声明以上是关于将表单值传递给 PHP 包含在 HTML DOM innerHTML 中的主要内容,如果未能解决你的问题,请参考以下文章