【问题标题】:value with variable php in code javascriptjavascript代码中变量php的值
【发布时间】:2019-08-28 15:08:22
【问题描述】:

我有这个用表单生成行的 javascript 代码。但我需要在值中添加一个关联的 php 变量(代码中的 var uno),但它不起作用。非常感谢您的帮助。

    function formHtml() {
        var uno ='<input type="text" <?php echo" value='$pe';?> data-type="address" name="address[]" id="address_'+rowcount+'" class="form-control autocomplete_txt" autocomplete="off">';


        html = '<tr id="row_'+rowcount+'">';
        html += '<th id="delete_'+rowcount+'" scope="row" class="delete_row"><img src="./src/images/minus.svg" alt=""></th>';
        html += '<td>';
        html += '<input type="text" data-type="countryname" name="countryname[]" id="countryname_'+rowcount+'" class="form-control autocomplete_txt" autocomplete="off">';
        html += '</td>';
        html += '<td>';
        html += '<input type="text" data-type="countryno" name="countryno[]" id="countryno_'+rowcount+'" class="form-control autocomplete_txt" autocomplete="off">';
        html += '</td>';
        html += '<td>';
        html += '<input type="text" data-type="phone_code" name="phone_code[]" id="phone_code_'+rowcount+'" class="form-control autocomplete_txt" autocomplete="off">';
        html += '</td>';

        html += '<td>';
        html += '<input type="text" data-type="country_code" name="country_code[]" id="country_code_'+rowcount+'" class="form-control autocomplete_txt" autocomplete="off">';
        html += '</td>';

        html += '<td>';
        html += uno;
        html += '</td>';

        html += '</tr>';
        rowcount++;
        return html;
    }

【问题讨论】:

标签: javascript php html forms


【解决方案1】:

假设您没有使用 _POSTed 表单数据(因为此处无法涵盖安全问题)...

在您的 HTML 中:

&lt;script type="text/javascript" src="your_php_file.php" /&gt;&lt;/script&gt;

在“your_php_file.php”中:

<?php header('content-type: text/javascript'); ?>

function name() {
   var uno = '<input type="text" value="<?php echo $pe; ?>" data-type="address" name="address[]" id="address_'+rowcount+'" class="form-control autocomplete_txt" autocomplete="off">';
}

<?php exit; ?>

虽然...我不确定您为什么要将变量设置为构造的 HTML 输入字段...而不是仅设置它的值...

【讨论】:

    【解决方案2】:

    试着写

    value="<?php echo $pe;?>"
    

    <?php echo "value='$pe'";?>
    

    两个语句都做同样的事情。

    请记住,每当您启动 &lt;?php 标记时,服务器就会在它之后开始执行 php 脚本。并执行到?&gt; 标签。并且根据服务器它必须执行:

     echo" value='$pe';
    

    这永远行不通。

    编辑: 如果写在双引号(“)之间,php会考虑$pe的值,但不会考虑写在单引号(')之间。例如:

    <?php
    $pe = 34;
    echo "$pe"; //Output: 34
    echo '$pe'; //Output: $pe
    ?>
    

    【讨论】:

    • 您在 JS 中使用 PHP。除非你的 JS 是由 PHP 构建的,否则它不会工作。 JS在本地机器上运行
    • @abby 会说的是如果 JS 脚本(客户端)不是由 PHP(服务器端)生成的...... PHP 代码无法访问服务器端变量.. . 见下面我的例子......唯一的其他选择是AJAX(但它仍在与服务器对话,并且是进行客户端/服务器端交互的唯一方法)
    • 我的假设是,上面的函数是写在本地服务器上的 .php 文件中,而不是 js/html 文件。如果是 .js 或者 .html 文件,这里当然要用@aequalsb 的方法或者AJAX ..
    • 我不知道为什么 Will 提到“本地机器”......不确定他的意思是什么,因为它可以被解释为不止一种方式......无论如何,另一种方式是通过在文档生成期间使用 PHP 设置全局 javascript 变量来使用 javascript 设置字段值(一旦它是客户端)...例如在 &lt;head&gt; 标记中...&lt;script&gt;my_global_var = '&lt;?php echo $my_value; ?&gt;';&lt;/script&gt;... then set your field value to my_global_var` 在您的文档加载后
    猜你喜欢
    • 2014-06-03
    • 1970-01-01
    • 2013-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多