将表单值传递给 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 中的主要内容,如果未能解决你的问题,请参考以下文章

怎样在php中得到js的值

HTML 表单未将值传递给 PHP (mysqli_real_escape_string)

将表单输入值传递给操作

如何将 php 变量传递给同一页面中的另一个表单?

如何将多个复选框值传递给php [重复]

将 Javascript 计算传递给 Django 后端