2013-05-07 2 views
0

Вот что у меня есть:JQuery удалить определенное значение ввода до завершения заполнения

<form method="get" action="" name="advsearch"> 
    <input type="hidden" name="query" value=""> 
    <div class="formelement-01"> 
    <select name="product" size="1" onclick="bq()"> 
     <option value="" selected="selected">Select Brand</option> 
     <option value="brand 1">brand 1</option> 
     <option value="brand 2">brand 2</option> 
    </select> 
    </div> 
    <div class="formelement-02"> 
    <select name="cut" size="1" onchange="bq()"> 
     <option value="" selected="selected">Select Product Type</option> 
     <option value="product 1">product 1</option> 
     <option value="product 2">product 2</option> 
     <option value="product 3">product 3</option> 
    </select> 
    </div> 
    <div class="formelement-03"> 
    <input onfocus="if (this.value == 'Enter keywords') this.value = '';" value="Enter keywords" type="text" name="keyword" id="key" onChange="bq()"> 
    </div> 
    <div class="formelement-04"> 
    <input type="image" src="images/submit.gif" value="Submit" name="Submit" id="sbmit"> 
    </div> 
</form> 
<script type="text/javascript"> 
    function bq() { 
    document.advsearch.query.value = document.advsearch.cut.value + " " + document.advsearch.product.value + " " + document.advsearch.keyword.value;} 
</script> 

Форма работает отлично, но если я не заменить значение «Введите ключевые слова» с чем-то другим, он получает представлен вместе с варианты, которые я выбираю.

Как предотвратить это конкретное значение, «Введите ключевые слова», от отправки? Обратите внимание: форма должна быть в состоянии представить любое другое значение, только не это.

Я надеюсь, что есть кто-то, кто может помочь в этом.

Заранее спасибо. Elena

ответ

2

Я думаю, вам нужен Html placeholder вместо того, чтобы выполнять старые проверки текста.

<input type="text" name="mytextbox" placeholder="Enter keywords"> 

Смотрите здесь examples and demo

+0

Вы - спасатель! Хотелось бы, чтобы я спросил раньше. Спасибо огромное! –

+0

@elenanincevic Рад сэкономить ваше время :) Отметьте зеленый тик, если вы сочтете полезным. –

+0

Где зеленый тик? –

1

Попробуйте с заполнителем как

<input value="" placeholder="Enter Keywords" type="text" name="keyword" id="key" onChange="bq()"> 
+0

Да, это сработало! Огромное спасибо. –

1

Вы можете использовать placeholder свойство типа ввода, но помните, что это свойство-заполнитель не будет работать в IE.

SO использовать следующий код:

<form method="get" action="" name="advsearch" onSubmit="fun()"> 

добавить функцию формы. Затем используйте следующий скрипт.

<script type="text/javascript"> 
    function fun() { 
    var ele = document.getElementById("key"); 
    if(ele.value == "Enter keywords") { 
     ele.value = ""; 
    } 
    return true; 
    } 
</script> 
+0

Вы правы. Он работает на ie10, но не старше. Спасибо!! Я попробую по-своему. –

+0

Я не уверен, почему, но это решение не работает над формой выше. Я не так хорош с JS, но я предполагаю, что это связано с функцией onchange, которая уже применяется к каждому блоку выбора и ввода. Если у вас есть быстрое решение, сообщите мне. Спасибо. –

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