Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.05.2015, 15:20
Интересующийся
Отправить личное сообщение для TRIGUN Посмотреть профиль Найти все сообщения от TRIGUN
 
Регистрация: 13.04.2014
Сообщений: 26

Поиск числа из массива (доработка скрипта)
Здравствуйте. Прошу помочь с доработкой скрипта.
Собственно сам скрипт устанавливается на обычной HTML страничке.
Есть список определенных кодов (купонов) и в итоге нужна форма для проверки этих кодов на подлинность (соответствие).

Вот что есть на данный момент (скрипт + css + сама форма):

$(function () {
  var array = [123, 1234, 12345],
      $input = $('[data-type="search"]'),
      $button = $('[data-action="search"]');

  $button.on('click', function(e) {
    var object = parseInt($input.val()),
        answer = $.inArray(object, array);

    if ( answer == '-1' ) { 
      alert("Наши купоны: " + array + ". Купона №" + object + " нет в массиве.");
		}
    else {
      alert("Наши купоны: " + array + ". Купон №" + object + " есть в массиве под номером " + answer + '.');
    }
    e.preventDefault();
  });
});


@import "compass/css3";

body{
  background: #f0f0f0;
}
.form-container{
  padding: 20px;
}
.form{
  width: 300px;
  margin: 0 auto;
  padding: 20px;
  background: #fff;
}
.form-field,
.form-label,
.form-submit{
  display: block;
}
.form-input,
.form-submit{
  width: 100%;
  padding: 10px;
}
.form-input{
  box-sizing: border-box;
  margin: 10px 0;
}


<div class="form-container">
  <form class="form">
    <label class="form-field">
      <span class="form-label">Введите номер купона:</span>
      <input class="form-input" type="text" data-type="search">
    </label>
    <button class="form-submit" data-action="search">Найти</button>
  </form>
</div>



Или же как вариант ссылка на codepen http://codepen.io/dpismenny/pen/VLLNgw

ЧТО НУЖНО:
Чтобы сообщение о проверке выводилось не в виде всплывающего окна, а сразу под самой формой в виде "Да, код верный" и "Нет, код не верный". И без перезагрузки окна конечно же.
Ответить с цитированием
  #2 (permalink)  
Старый 16.05.2015, 15:41
Интересующийся
Отправить личное сообщение для vvkk Посмотреть профиль Найти все сообщения от vvkk
 
Регистрация: 20.08.2014
Сообщений: 28

Заменить alert на следующий код

document.createElement('div')&&div.innerHTML = "Наши купоны: " + array + ". Купона №" + object + " нет в массиве.";

Также со вторым alert
Ответить с цитированием
  #3 (permalink)  
Старый 16.05.2015, 15:56
Интересующийся
Отправить личное сообщение для TRIGUN Посмотреть профиль Найти все сообщения от TRIGUN
 
Регистрация: 13.04.2014
Сообщений: 26

Сообщение от vvkk Посмотреть сообщение
Заменить alert на следующий код

document.createElement('div')&&div.innerHTML = "Наши купоны: " + array + ". Купона №" + object + " нет в массиве.";

Также со вторым alert
Хм. Вообще скрипт перестает работать и выдает ошибку "Invalid left-hand side in assignment".
Да и собственно само сообщение не должно содержать список существующих кодов. Только по факту "Да, такой есть" или "Нет, такого нету".
Могли бы помочь с этим?
Ответить с цитированием
  #4 (permalink)  
Старый 16.05.2015, 16:04
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,081

TRIGUN,
раздел работа - требуется указать сумму и надеюсь вы понимаите что любой может увидеть нужные номера и такую проверку лучше делать на сервере.
<!DOCTYPE html><html class=''>
<head><meta charset='UTF-8'>
<style class="cp-pen-styles">
body {
  background: #f0f0f0;
}

.form-container {
  padding: 20px;
}

.form {
  width: 300px;
  margin: 0 auto;
  padding: 20px;
  background: #fff;
}

.form-field,
.form-label,
.form-submit {
  display: block;
}

.form-input,
.form-submit,
.form-span {
  width: 100%;
  padding: 10px;
}

.form-input, .form-span{
  box-sizing: border-box;
  margin: 10px 0;
}
.form-span {
  display:  inline-block;
  border: #ABADB3 1px solid;
  text-align: center;
}
</style></head><body>
<div class="form-container">
  <form class="form">
    <label class="form-field">
      <span class="form-label">Введите номер купона:</span>
      <input class="form-input" type="text" data-type="search">
    </label>
    <button class="form-submit" data-action="search">Найти</button>
  </form>
</div>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script>
$(function () {
    var array = [
            123,
            1234,
            12345
        ], $input = $('[data-type="search"]'), $button = $('[data-action="search"]');
    $button.on('click', function (e) {
        var object = parseInt($input.val()), answer = $.inArray(object, array), text, span;
        if (answer == '-1') {
            text = 'Нет, код не верный';
        } else {
            text = 'Да, код верный';
        }
        span = $(this).next().length ? $(this).next() : $('<span/>' , {"class" : "form-span"}).insertAfter(this);
        span.text(text);
        e.preventDefault();
    });
});
</script>
</body></html>
Ответить с цитированием
  #5 (permalink)  
Старый 16.05.2015, 16:06
Интересующийся
Отправить личное сообщение для vvkk Посмотреть профиль Найти все сообщения от vvkk
 
Регистрация: 20.08.2014
Сообщений: 28

Свой Skype в личку
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Доработка скрипта Alexsher Работа 2 16.08.2014 01:26
Требуется доработка скрипта. disee Firefox/Mozilla 0 17.09.2013 15:24
Срочная доработка скрипта (слайдер) clescenco Работа 1 17.09.2012 12:32
Поиск числа Jquery Dorian_bs Общие вопросы Javascript 4 18.09.2011 21:52
Доработка скрипта formus Работа 2 06.07.2011 10:08