簡體   English   中英

在 php 代碼中使用 JS 變量?

[英]Using a JS variable inside php code?

我正在嘗試這樣做,以便當您單擊按鈕時,它將向頁面添加新字段。 我知道 onclick 只能帶 JS 函數,所以我決定試試運氣制作一個 JS 腳本。 起初我試圖做

<html>
<head><title>multiple line test</title><head>
<body>
<script type="text/javascript">
var texters='';
var num=0;
function newInput(nomnom)
{
    texters='';
    num=nomnom+1;
    for (var i=0; i<nomnom; i++)
    {
        texters+='<p>\
        Please specify a file, or a set of files:<br>\
        <input type="file" size="40">\
        </p>\
        <p>\
        Caption : <br> \
        <input type="text" size="30">\
        </p>';\
    }
    document.write(texters+'<div>\
    <input type="submit" value="Send">\
    </div>\
    </form>\
    <br>' + '<input type="button" value="new entry" onclick="newInput(num)">' . '</body></html>');
}
newInput(num);
</script>
</body>
</html>

但這沒有用。 所以我嘗試添加一點 php 因為我更了解它。 我試過這個:

<html>
<head><title>multiple line test</title><head>
<body>
<script type="text/javascript">
var texters='';
var num=0;
function newInput(nomnom)
{
    document.write(<?php
    tex='';
    for (var i=0; i<=(nomnom); i++)
    {
        tex.='<p>
        Please specify a file, or a set of files:<br>
        <input type="file" size="40">
        </p>
        <p>
        Caption : <br> 
        <input type="text" size="30">
        </p>';
    }
    echo tex . '<div>
    <input type="submit" value="Send">
    </div>
    </form>
    <br>' . '<input type="button" value="new entry" onclick="newInput(num)">' . '</body></html>';
?>);
}
newInput(num);
</script>
</body>
</html>

但我知道這行不通,因為我無法從 JS 和 PHP 中獲取用於字段數量的變量。 有什么方法可以強制 JS 將該數字放入 $_POST 中,這樣我就可以檢索它而無需制作另一個表單? 還是有更好的方法來做我想做的事情?

您可以在表單上設置隱藏輸入字段,並讓 Javascript 填充該字段。

您應該嘗試使用 jquery http://jquery.com/或類似的腳本庫,因為它會使操作 DOM 更加容易。 使用 jquery 您可以創建一個 onClick function 將在幾行代碼中執行您想要的操作:

var onClickAddInput = function()
{
    $('div#your_div_id').append('<input type="text" size="30" />');
}

如果您需要添加更多輸入框,您可以循環 append 語句並為各個輸入框提供等於循環編號的 ID。

正如評論 PHP 用於服務器端,javascript 用於客戶端。 html 是可以創建的ui元素。 如果您需要在服務器上完成某些操作,請在 PHP 中完成,如果需要在客戶端完成,請在 javascript 中完成。 這是 javascript 的示例。

function newInput(nomnom)
{
    var tex='';
    for (var i=0; i<=(nomnom); i++)
    {
     tex+='<p>Please specify a file, or a set of files:'; 
     tex+='<br/><input type="file" size="40"></p>'; 
     tex+='<p>Caption :'; 
     tex+='<br/><input type="text" size="30"></p>';
    }
    document.getElementById('form_id').innerHTML += tex;
}

當調用此 function 時,它將創建許多新輸入並將它們添加到 id 為“form_id”的表單中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM