Нужна помощь с Jquery и javascript

#php #javascript #jquery

#php #javascript #jquery

Вопрос:

У меня есть куча сотрудников, у каждого сотрудника есть 7 дней для их рабочего графика. Я создал следующую форму с помощью php и хотел бы получить данные отсюда в JavaScript для проверки, а затем отправить их в базу данных SQL с помощью ajax. Моя проблема в том, как я могу динамически создавать эти формы, а затем получать значения из их входных данных? Динамическое их создание — это простая часть.

 <?php
 function getNewEmployeeForm($name) {

$def_form = "
  <tr name="" . $name ."">
  <td>".$name ."</td>
    <td>
        <input style="width:55px" id='". $name ."' type="text">
    </td>
    <td>
        <input style="width:55px" id='". $name ."' type="text">
    </td>
    <td>
        <input style="width:55px" id='". $name ."' type="text">
    </td>
    <td>
        <input style="width:55px" id='". $name ."' type="text">
    </td>
    <td>
        <input style="width:55px" id='". $name ."' type="text">
    </td>
    <td>
        <input style="width:55px" id='". $name ."' type="text">
    </td>
    <td>
        <input style="width:55px" id='". $name ."' type="text">
    </td>
  </tr>";

  echo $def_form;
}?>
  

Комментарии:

1. Это недопустимый html. Два элемента не могут иметь одинаковый идентификатор.

2. Я пытался, var arr = $(«:input#name»); не сработало.

3. как я могу назвать или идентифицировать их, чтобы я мог получить все входные данные, учитывая имя пользователя.

4. Я полагаю, вы хотели использовать атрибут класса, а не идентификатор

5. Я думаю, прежде чем пробовать что-либо, вы должны сначала подумать о том, что вы хотите. Ваш вопрос содержит около 8 вопросов, и вы, кажется, упускаете некоторую базовую информацию. Разберите свою проблему. Вам не нужен никакой javascript или jquery для публикации формы. Сначала попробуйте сохранить фиксированные / жестко закодированные данные. Если это сработает, создайте простую динамическую HTML-форму и попробуйте обработать опубликованное. Только после того, как все заработает, вы начнете улучшать его с помощью javascript / jquery для улучшения удобства использования.

Ответ №1:

добавьте атрибут ‘name’ и присвоите ему значение, например ‘day’

Тогда попробуйте следующий javascript (непроверенный)

 var employees = new Array();

$('table td input[name="day"]').each(function(i){
    employees[i] = $(this).val();
});
  

Комментарии:

1. проблема с таблицей не сработала, но это сработало, (‘:input.Name ‘). Спасибо всем за вашу помощь и комментарии