2013-07-17 3 views
-1

Я работаю над динамическим массивом внутри таблицы, что означает, что таблица отображается на основе пользовательского ввода. Пользователям необходимо заполнить эту таблицу и нажать кнопку «Отправить». Мне нужно разместить javascript здесь, чтобы проверить, не выбрал ли пользователь что-либо или не писал ни в одном столбце. Если это так, пользователь не сможет продолжить.Как установить javascript в динамическом массиве?

<form action="klr.php" method="post" name="myform" > 

    <?php 

     for ($i = 1; $i <= $de; $i++) { 
     ?> 
     <tr> 
      <td>Tube</td> 
      <td> 
       <select id="in4-<?php echo $i; ?>" name="t1[<?php echo $i; ?>]" onclick="getText3(<?php echo $i; ?>)" onchange="getText39(<?php echo $i; ?>)" onmouseout="getText89(<?php echo $i; ?>)"> 
        <option value="0">0</option> 
        <option value="12">12</option> 
        <option value="18">18</option> 
        <option value="24">24</option> 
        <option value="75">75</option> 
       </select> 
      </td> 
      <td> 
       <input type="text" name="t2[<?php echo $i; ?>]" id="in1-<?php echo $i; ?>" onblur="getText3(<?php echo $i; ?>)" onchange="getText39(<?php echo $i; ?>)" onmouseout="getText89(<?php echo $i; ?>)"/> 
      </td> 
      <td> 
       <select name="a1[<?php echo $i; ?>]" id="in2-<?php echo $i; ?>" onclick="getText3(<?php echo $i; ?>)"onchange="getText39(<?php echo $i; ?>)" onmouseout="getText89(<?php echo $i; ?>)" > 
        <option value="0">0</option> 
        <option value="1">1</option> 
        <option value="2">2</option> 
        <option value="3">3</option> 
        <option value="4">4</option> 
        <option value="5">5</option> 
        <option value="6">6</option> 
        <option value="7">7</option> 
        <option value="8">8</option> 
        <option value="9">9</option> 
        <option value="10">10</option> 
        <option value="11">11</option> 
        <option value="12">12</option> 

       </select> 
      </td> 
    </table> 

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

+4

Как просто разместить «java-скриптинг»? – turnt

+0

Прошу прощения, я уверен, что английский не является вашим первым языком, но мне трудно понять, что именно вы просите. Я предполагаю, что вы запрашиваете какую-то проверку на стороне клиента javascript на вашей таблице? – Johannes

+0

да, я хочу, чтобы javascripting на стороне клиента, если пользователь не выбирает какое-либо значение или не вводит какое-либо значение, генерирует предупреждение при отправке – user2581292

ответ

0

Похоже, вы просто хотели проверить, было ли проверено все внутри элемента формы. Вот два фидель я работал до начала работы:

1) Обычный Javascript

function formCheck() { 
    var form = document.getElementById('mainForm'), 
     inputs = form.getElementsByTagName('INPUT'), 
     selects = form.getElementsByTagName('SELECT'), 
     i, 
     errors = []; 


    for (i = 0; i < inputs.length; i++) { 
     if (inputs[i].value.match(/^\s*$/)) { 
      errors.push(inputs[i].title + ' was not set'); 
     } 
    } 

    for (i = 0; i < selects.length; i++) { 
     if (selects[i].selectedIndex === 0) { 
      errors.push(selects[i].title + ' was not set'); 
     } 
    }  

    if (errors.length > 0) { 
     alert(errors.join('\n')); 
     return false; 
    } 
    alert('success!'); 
    return true; 
} 

http://jsfiddle.net/fstreamz/3Decx/4/

2) С помощью JQuery

function formCheck() { 
    var formElements = $('#mainForm').find('input, select'), 
    errors = []; 

    $.each(formElements, function(i, el) { 
     if ($(el).val().match(/^\s*$/)) { 
      errors.push($(el).prop('title') + ' is blank!'); 
     } 
    }); 

    if (errors.length > 0) { 
     alert(errors.join('\n')); 
     return false; 
    } 
    alert('success'); 
    return true; 
} 

http://jsfiddle.net/fstreamz/w5KG3/4/

Несколько Примечания: 1) Он проверяет каждый вход или элемент i nside элемент формы с id = "mainForm", поэтому вам нужно добавить это в свою форму (рядом с именем = "myForm"). 2) Я добавил атрибут title для элементов ввода/выбора, чтобы я мог показать это в сообщении об ошибке как ссылку. 3) Он проверяет пробелы в поле ввода и считает это недопустимым. 4) в jsFiddle, он возвращает false даже в случае успеха, поэтому форма не отправляется в демонстрационных целях. Это нужно заменить на true, если вы его используете.

+0

где я получаю jquery? – user2581292

+0

Как я могу проверить, что пользователь может ввести числовое значение в поле ввода в текстовом поле – user2581292

+0

http://jsfiddle.net/fstreamz/w5KG3/5/ – LUKE

Смежные вопросы