我试图做到这一点,当你点击一个按钮,它会添加新的字段到页面。我知道onclick只能使用JS函数,所以我决定尝试运行一个JS脚本。起初我曾试图做在php代码中使用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中,这样我就可以在不必制作其他表单的情况下检索它?还是有更好的方法来做我想做的事情?
PHP在服务器上运行。 JavaScript在浏览器中运行。理解这是什么意思,然后从JS代码中解开PHP代码。 –
@MattBall:这通常是我对这些类型问题的回应,但OP对$ _POST的引用使我相信它们实际上使用了回发。不过,这个问题有点不清楚。 –