Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > Вернуть в инпут текст


Автор: sashgera 27.9.2014, 11:03
Здравствуйте
В форме, по клику в инпут - дефолтный текст удаляется:
Код

            
    $(function() {
    $("[data-placeholder]").focus(function() {
        if ( this.value == this.getAttribute( 'data-placeholder' ) ) {
            this.value = "";
            $(this).css("color","#040404");   
        }
    }).blur(function() {
        if ( this.value == "" ) {
            this.value = this.getAttribute( 'data-placeholder' );
            $(this).css("color","#858585");
        }
    }).blur();
});

<form action="<?php $sess->purl( $mm_action_url."index.php?page=shop.browse" )?>" method="post" id="searchForm" class="search_sku">
<input class="input" type="search" id="keyword" name="keyword" autocomplete="off" data-placeholder="text default" value=""/>
<input class="submit" type="button" id="searchFormButton" name="" value=""/>

также в форме есть проверка, регулярное выражение удаляет все кроме цифр:
Код

$('#searchFormButton').click(function(){$('#searchForm').submit()})
    $('#searchForm').submit(submitSearchForm)

    function submitSearchForm() {
      var str = $('#keyword').val();
        str = str.replace(/\D/g, '', ".data-placeholder");
        $('#keyword').val(str);
        if( !str || str == $('#keyword').data("placeholder") ) {
        $('#error2').animate({width:'show'}, 500); // показать div с ошибкой
            return false;
        }
       return true
    }
});

пожалуйста, помогите сделать так, чтобы после выполнения регулярного выражения, в инпут вернулся дефолтный текст
(сейчас при отправке по клику по кнопке - в инпуте пусто, при нажатии на enter - в инпуте курсор)

Автор: Game-lot 30.9.2014, 10:49
По-моему что-то уж больно сомнительная у Вас конструкция -
str = str.replace(/\D/g, '', ".data-placeholder");

Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Vernut-v-input-tekst-id54266fecae20156c048b4567#findElement_E7045_542a6094ae2015bc498b458f_0

Автор: baldina 30.9.2014, 11:49
Цитата(Game-lot @  30.9.2014,  10:49 Найти цитируемый пост)
больно сомнительная у Вас конструкция

чем сомнительная?

sashgera, http://jsfiddle.net/aqmbpjtz/
Код

function submitSearchForm() {
  var input=$('#keyword');
  var str = input.val().replace(/\D/g, '');
  if(str===""){
    $('#error2').animate({opacity:'1'}); // показать div с ошибкой
    input.val(input.attr("data-placeholder"));
    return false;
  }
  input.val(str);
  return true;
}

Добавлено @ 11:55
а, Game-lot, вас 3й параметр смущает. да, он лишний

Автор: sashgera 30.9.2014, 15:06
baldina, большое спасибо!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)