将php echo设置为javascript变量无效数据
Setting php echo to javascript variable invalid data
我试图将我的PHP echo的值设置为Javascript变量。JS变量然后将该值设置为XML页面中的一个元素,以便在标签打印机上打印条形码。
到目前为止,javascript变量从文本区域获取元素,似乎工作得很好,但是当我将变量设置为PHP echo时,数据格式似乎是不正确的。我想我可能是把echo设置错了,但是我没有办法了。目前textarea是由echo填充的,所以它可以工作,但是我需要不使用textarea。
与textarea
<?php
$sqlUpd = "SELECT name, req, printlabel FROM req_requisitions WHERE id = '".$_GET["recordid"]."'";
$name = $row1['name'];
$reqNumber = $row1['req'];
$print = $row1['printlabel'];
}
?>
segment of my JS-------------------------------------------------------
function onload()
{
var textTextArea = document.getElementById("textTextArea");
var printButton = document.getElementById('printButton');
// prints the label
printButton.onclick = function()
{
try
{
// open label
var labelXml = loadXMLDoc("barcode.xml");
var label = dymo.label.framework.openLabelXml(labelXml);
// set label text
label.setObjectText("BARCODE", textTextArea.value);
// select printer to print on
// for simplicity sake just use the first LabelWriter printer
var printers = dymo.label.framework.getPrinters();
if (printers.length == 0)
throw "No DYMO printers are installed. Install DYMO printers.";
var printerName = "";
for (var i = 0; i < printers.length; ++i)
{
var printer = printers[i];
if (printer.printerType == "LabelWriterPrinter")
{
printerName = printer.name;
break;
}
}
// prints the label
printButton.onclick = function()
My Text Area-------------------------------------------------------
<div id="textDiv">
<label for="textTextArea">Label text:</label><br/>
<textarea name="textTextArea" id="textTextArea" rows='5' cols='40'><?php echo $reqNumber; ?></textarea>
</div>
下面是我想修改为
的内容function onload() {
var textTextArea = <?php echo $reqNumber;?>;
var printButton = document.getElementById('printButton');
}
它不能将值传递给js,但传递给textarea?
这个"$ reqnumber"是一个字符串吗?
如果是,尝试var textTextArea = '<?php echo $reqNumber;?>';
基于另一个问题:https://stackoverflow.com/a/1035658/2331182
可以将整数转换为字符串。
试试这个:
var textTextArea = '<?php echo (string)$reqNumber;?>';
或
var textTextArea = '<?php echo strval($reqNumber);?>';
我不确定这是否是最佳实践,但当我想将数据从php
传递到js
时,我通常使用cookies
,反之亦然,假设数据不敏感,如密码或任何此类。
setcookie('reqnum',$reqNumber);
JS
var x = readCookie('reqnum');
我不确定这是不是最好的做法,但是减少了很多混乱。
this:
function onload() {
var textTextArea = '<?php echo $reqNumber;?>';
var printButton = document.getElementById('printButton');
}
将只工作,如果JS代码是在同一个文件,如果这是一个外部文件,这将不起作用。请注意,正如@wong Ian所说,你缺少引号。
我认为使用jQuery会更好然后你可以添加PHP变量作为元素的属性然后通过jQuery访问它
<div id="textDiv">
<label for="textTextArea">Label text:</label><br/>
<textarea name="textTextArea" id="myId" rows='5' cols='40' data_var='<?php echo $reqNumber; ?>'><?php echo $reqNumber; ?></textarea>
</div>
和JS中的
textTextArea = $("#myId").attr('data_var);
相关文章:
- 变量赋值无效
- jquery$(“#someID”).width(变量+'px')有效,现在无效
- React:未捕获的不变量冲突:ReactDOM.render():无效的组件元素
- 变量在 JavaScript 中无效
- Javascript 表单验证 - PHP 变量作为 VALUE - 无效输入
- 变量传递无效-值未定义
- 基于IF语句添加变量无效
- if语句没有'计数器变量无效
- Javascript模糊处理程序,它重用变量名,使搜索和替换无效
- 为什么第一个有效,第二个无效?全局和私有变量声明
- 错误:无效XML:jquery或将多个根转换为多个变量
- 如何使用jQuery在变量中查找无效的未闭合XML标记
- 变量名称-赋值中左侧无效
- 不变量冲突:对象作为React的子对象是无效的
- 在Angular指令中,大写只对blur变量有效,而对set变量无效
- 流星环境变量在生产环境中无效
- Javascript将类作用域赋给局部变量是无效的
- IE8中变量对象属性的无效参数问题
- 值“XX/YY/ZZZZ”对日期时间变量无效
- 将php echo设置为javascript变量无效数据