我有一个网站,通过输入他们的课程帮助学生制定时间表。当他们点击按钮时,他们可以从下拉列表中选择课程,并在右侧的框中输入课程#。我试图使用PHP来获取该框的内容,但它不起作用。部分问题可能是该框的id
被javascript分配了一个数字(如1,2,3)。
这是JSFIDDLE(只添加1个类,我还没有添加2个类。还有第一个数字(如100)来自下拉列表。)
HTML:
<form action='http://people.brandeis.edu/~rnewman/schedule.php' method='POST'>
<div id="boxes"></div>
<br>
<input type='button' value='Add Class' id='add' style='height: 40px;'>
<input type='submit' style='height: 40px;' value='Create Schedule'>
</form>
JQUERY:
var x = 0;
$(document).ready(function(){
$("#add").click(function(){
$('#boxes').append('<input type="text" id="' + ++x + '"><br>'); //the id isn't working
});
});
FROM schedule.php
echo $_POST['course'];
echo "<br>";
echo $_POST['0'];
echo $_POST['1'];
echo $_POST['2'];
答案 0 :(得分:2)
我不是PHP人员,但通常框架会查找元素的name
属性而不是id
属性。如果您在输入文本框中添加name
属性,则应该有效:
$('#boxes').append('<input type="text" id="' + ++x + '" name="' + ++x + '"><br>');
希望这有帮助!
答案 1 :(得分:2)
正如您在this question on stackoverflow上看到的那样:
ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed
by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"),
colons (":"), and periods (".").
因此,简而言之,您不能将id
作为数字,是的,正如其他人所说,您应该添加name
属性。
答案 2 :(得分:0)
您应该为输入提供NAME属性。这就是PHP将用于索引输入的内容。
<input type="text" id="' + ++x + '" name="myNewInputs[]" />