Как я могу динамично добавить поля ввода к форме?

Обычно, когда Вы хотите проверить, существует ли файл, это - потому что Вы хотите к , создают , что файл, если это не делает. Ответ Graeme Perrow хорош, если Вы не делаете , хотят создать тот файл, но это уязвимо для состояния состязания, если Вы делаете: другой процесс мог создать файл, промежуточный Вы проверяющий, существует ли он, и Вы на самом деле открытие его для записи в него. (Не смейтесь..., это могло иметь плохой последствия безопасности, если бы созданный файл был символьной ссылкой!)

, Если Вы хотите проверить на существование и , создают файл, если это не существует, атомарно так, чтобы не было никаких условий состязания, затем используйте это:

#include <fcntl.h>
#include <errno.h>

fd = open(pathname, O_CREAT | O_WRONLY | O_EXCL, S_IRUSR | S_IWUSR);
if (fd < 0) {
  /* failure */
  if (errno == EEXIST) {
    /* the file already existed */
    ...
  }
} else {
  /* now you can use the file */
}
6
задан Roland Rabien 14 August 2009 в 18:50
поделиться

3 ответа

Я бы использовал jQuery и добавил новые входные данные.

8
ответ дан 8 December 2019 в 17:25
поделиться

Скорее всего, вам придется использовать javascript, да. Вы можете использовать это или написать свой, используя его в качестве справочника:

http://www.mredkj.com/tutorials/tableaddrow.html

4
ответ дан 8 December 2019 в 17:25
поделиться

Вы говорите, что вручную пишете теги ввода? Или вы говорите, что хотите динамическое действие, при котором пользователь нажимает кнопку и добавляет больше строк таблицы?

В любом случае, для вашего кода вам просто нужен цикл, например. Я предполагаю, что $ data - это любые данные, которые вы хотите установить на основе массива, который, вероятно, из базы данных или чего-то еще:

<?php
for($i=0, $iMaxSize=count($data); $i<$iMaxSize; $i++)
{
?>
 <tr> 
  <td><?= $i+1 ?></td> 
  <td><input type=text name=x1 size=10 value="<?=$data[$i]['something']"></td> 
  <td><input type=text name=y1 size=10 value="<?=$data[$i]['somethingelse']"></td> 
  <td><input type=text name=z1 size=10 value="<?=$data[$i]['somethingelseagain']"></td> 
 </tr> 
<?php
} // end for 
?>

Конечно, вы не можете скопировать и вставить вышеупомянутое, но это хорошая отправная точка.

Для динамически делая это, вы не можете использовать php. Похоже, вы хотите использовать комбинацию javascript ajax и php.

0
ответ дан 8 December 2019 в 17:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: