繁体   English   中英

从php“ while”循环向javascript函数发送php变量:不起作用

[英]send a php variable from a php “while” loop to a javascript function: not working

这是一般情况:我需要在一些数据相同的地方(一些课程的标题,价格等)插入一些课程详细信息,而每个日期(年,月,日,因此,我写了第一页,用户在其中插入课程周期的通用数据,然后提交并发送到第二页,在第二页中可以指定约会的数量。 使用这个数字,我编写了一个While循环,该循环可以根据需要使用表格生成尽可能多的行。 同时,我生成一个idform变量来标识所有具有不同名称的表单。 在提交按钮中,我要将$ idform发送到javascript函数(将是Ajax脚本)。 通常您会写:

<input type="button" value=" REGISTRA " style="display:block" onClick="javascript:formami('$idform');">

使用双引号表示容器,使用单引号表示内容。 但关键是我处于while循环内,并且使用echo生成了td,如下所示:

echo "<input type='button' value=' REGISTRA ' style='display:block' onClick='javascript:formami($idform);'>";

因此,我不能对$ idform使用单引号。 如果我使用单引号,则该变量根本不会传递,如果不使用引号而不是变量,则会显示[object HTMLFormElement]消息。 顺便说一句,现在文档开头的功能仅包含出于测试目的的警报:

function formami(numeroriga) {
   var pippo = numeroriga;
   alert("Ciao "+pippo);
}

单击提交按钮时,我得到的结果是带有“ Ciao [object HTMLFormElement]”的警报,当我期望出现消息“ Ciao riga1”,“ Ciao riga2”等时,具体取决于我单击哪个按钮。

关于可能解决此问题的想法吗? 可能是我必须更改整个逻辑吗?

预先感谢所有建议

您可以在字符串中使用双引号和单引号,例如:

echo "<input type=\"button\" value=\" REGISTRA \" style=\"display:block\" onClick=\"javascript:formami('$idform');\">";

您可以使用此:

<input type="button" value="REGISTRA" style="display:block" onClick="javascript:formami('<?php echo $idform;?>');">

然后,您可以检查源代码以检查“ formami('idform应该在此处打印”)是否从php echo获得正确的值。

您应该尝试对控件结构使用替代语法 ,这将使转义更加容易,并且代码将更易读:

<table>
    <?php foreach ($idforms as $idform): ?>
        <tr>
            <td><?php echo $idform ?></td>
            <td><input type="button" value="REGISTRA" onClick="javascript:formami('<?php echo $idform ?>');"></td>
        </tr>
    <?php endforeach ?>
</table>

尝试

echo "<input type='button' value=' REGISTRA ' style='display:block' onClick='javascript:formami('".$idform."');'>";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM