0

PHP エコーの値を Javascript 変数に設定しようとしています。次に、JS var はその値を XML ページの要素に設定して、ラベル プリンターにバーコードを印刷します。

これまでのところ、javascript 変数はテキスト領域から要素を取得し、正常に動作しているように見えますが、変数を PHP エコーに設定すると、データ形式が正しくないように見えます。エコーを正しく設定していない可能性があると思いますが、アイデアが不足しています。

現時点では、テキストエリアはエコーによって取り込まれているため機能しますが、テキストエリアなしで行う必要があります。

テキストエリアで

  <?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');
}
4

4 に答える 4

-1

これ:

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);
于 2015-05-19T04:44:46.633 に答える