使用Javascript动态创建输入字段数组的唯一ID

时间:2011-03-30 23:05:38

标签: php javascript jquery arrays loops

我有一系列日期。 下面的代码遍历日期以打印带有文本字段的日期。 我要做的是创建一个具有唯一ID的文本字段数组。 然后将每个日期及其数组文本字段(值)传递到php脚本中。

有什么想法吗?

  for (var i in dates) {
    var d = dates[i];

    if (d) { // sometimes the date is not actually selected, that's why we need to check.
        var length = 12;
        var str = i+d;
        var myUniqueTime = str.substring(0,length);
        myUniqueTime = myUniqueTime.replace(/^\s+|\s+$/g, '');


        times= ["<input type=\"text\" id=\""+i+"\" size=\"8\" name=\""+i+"\" onChange=\"changeTimeTo24Hrs()\" value=\""+i+"\" />", "<input type=\"text\" id=\"times\" size=\"8\" name=\"times\" value=\""+i+"\" />"];

      // OK, selected.  Fill an input field.  Or something.  Just for example,
      // we will display all selected dates in the element having the id "output".
      el.innerHTML += "I = " + i + "<br />" + times + "<br />" + d.print("%A, %Y %B %d") + " <font size='-1'>" + myUniqueTime + "</font><br /><BR />";

    }
  }

2 个答案:

答案 0 :(得分:2)

您可以为所有文字字段命名:name ="dateField[]" 那么在PHP方面,你将在$_POST变量中有一个dateField数组。

这是在提交表单后,您的$_POST['dateField']将如下所示:$_POST['dateField'] = array('date 1...', 'date 2...', 'date 3...');

编辑:

如果您有表格:

<form method="post" action="formHandler.php">
  <input type="text" name="dateField[]" value="some date"/>
  <input type="text" name="dateField[]" value="some other date"/>
</form>

然后您提交该表单,然后将调用php文件formHandler.php(由action =“formHandler.php”指定)。在formHandler.php中,您可以使用提交的日期。

formHandler.php:

echo 'First date: ' . $_POST['dateField'][0];
echo 'Second date: ' . $_POST['dateField'][1];

答案 1 :(得分:0)

for(var i = 0; i < dates.length; i++){
  textbox = document.createElement('input');
  textbox.type = 'text';
  textbox.id   = i;
  el.appendChild(textbox);
}

您应该将w3schools.com标记为javascript api。这是一件容易引用的事情,而不得不提出一个问题。