[英]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.