2013-05-17 4 views
0

У меня возникла проблема с моей формой заказа. Мне нужно проверить некоторые поля, флажки, раскрывающийся список и количество продуктов. Так что я только начал с флажка. Он должен выглядеть так: если я поставлю флажок, но не укажу количество продукта, его всплывающее предупреждение javascript, в котором указывается, сколько я хочу заказать у этого продукта. И если я не проверю флажок, его начало предупредит меня об этом. Во-вторых, мне нужно проверить номер карты для: Только число и 20 символов с - после каждых 4 цифр. Только что с флажком подтвердите, но не удалось даже проверить количество и номер карты, тип карты подтвердите.Подтвердить форму в Javascript

<!doctype html> 
<html> 
<head> 
<meta charset="iso-8859-2"> 
<title>Order</title> 

<script language="javascript"> 
function validateFunction() { 
var fo = document.cardform; 
if (!fo.field1.checked && !fo.field2.checked && !fo.field3.checked) { 
     alert("Must choose at least one thing to buy"); 
     return false; 
} 
return true; 
} 
</script> 

</head> 

<body> 
    <h2> 
     <strong> 
      Order 
     </strong> 
    </h2> 
    <form name="cardform" action="" onsubmit="return validateFunction();"> 
    Name: <input type="text" name="name" size="40px" required> </br> 
    Adress: <input type="text" name="adress" size="40px" required> </br> 
    Card Type: <select name="card" form="cardform" required> 
        <option value="choose" selected>Please Choose</option> 
        <option value="visa">Visa</option> 
        <option value="americanexpress">American Express</option> 
        <option value="mastercard">Master Card</option> 
        <option value="maestro">Maestro</option> 
</select> 
    Cardnumber: <input type="number" name="cardnumber" required> </br> 
    <table border="1px"> 
     <tr> 
      <td> 
      name: 
      </td> 
      <td> 
      price: 
      </td> 
      <td> 
      q: 
      </td> 
     </tr> 
     <tr> 
      <td> 
      <input type="checkbox" name="field1">1 
      </td> 
      <td> 
      13 
      </td> 
      <td> 
      <input type="text" name="1q"> 
      </td> 
     </tr> 
     <tr> 
      <td> 
      <input type="checkbox" name="field2">2 
      </td> 
      <td> 
      133 
      </td> 
      <td> 
      <input type="text" name="2q"> 
      </td> 
     </tr> 
     <tr> 
      <td> 
      <input type="checkbox" name="field3">3 
      </td> 
      <td> 
      1337 
      </td> 
      <td> 
      <input type="text" name="3q"> 
      </td> 
     </tr> 
    </table>  
    Comment: </br> 
    <textarea name="comments" cols="25" rows="5"> Comment here </textarea> </br> 
     <input type="submit" value="Submit"> 
     <input type="reset" value="Reset"> 
    </form> 

</body> 
</html> 
+1

В чем ваш вопрос? – dezman

ответ

0

Это немного неясно, что вы просите точно, но это звучит, как вы ищете некоторые общие рекомендации по проверке формы.

Я бы предложил использовать jQuery, а затем использовать jQuery Validate.

Проверьте документацию и множество примеров here.

В основном, это то, что вы можете сделать, это украсить ваши HTML-теги атрибутами, которые сообщают jQuery. Проверить, как этот тег, будь то флажок или поле ввода, должен быть проверен.

+0

Загрузите этот Jquery validate, и я должен сказать, что он действительно потрясающий. Только с полями имени, адреса и типа карты. Но я не знаю, как проверить флажки с этим. (Если пользователь не проверяет флажок, он должен стать красным. Если пользователь проверяет его, но не записывает значение в поле «Количество», он также становится красным. Мне также нужно указать номер номера карты, чтобы вводить только номера и - character. – Sqveeze

+0

Для чисел и символов вы можете написать подтверждение регулярного выражения. Я не эксперт в RegEx, но посмотрите на [this] (http://stackoverflow.com/questions/280759/jquery-validate-how -to-add-a-rule-for-regular-expression-validation) SO вопрос для справки. Я не уверен, что вы имеете в виду о флажке, можете ли вы подробно остановиться на этом? – AndersDaniel

0

На мой взгляд, «для полей был некоторый обязательный атрибут», если поле пуст, оно прерывает следующий уровень (я имею в виду ваше предупреждающее сообщение). попробуйте удалить требуемый атрибут и запишите подтверждение для остальных полей, используя js/jquery. Надеюсь, что это работает .

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