2015-09-11 2 views
-2

В настоящее время я пытаюсь создать URL-адрес API на основе ввода, который пользователь вводит в форме запроса, используя JavaScript. Ввод текстового поля сохраняется в переменной, которая далее объединена в качестве конечного URL-адреса. Тем не менее, не все поля ввода будут использоваться все время.Удалить или игнорировать переменную, если пустое поле ввода

Мне было интересно, как вы можете игнорировать эту конкретную переменную, если ее значение пустое.

Как я уже объяснял, у меня есть набор полей ввода:

<input id="whoValue" type="text" value="" placeholder="Who">  
<input id="whenStart" type="text" value="" placeholder="Start Date"> 
<input id="whenEnd" type="text" value="" placeholder="End Date"> 
<input id="whatValue" type="text" value="" placeholder="What"> 
<button id="searchBtn">Search</button></br> 
<input id="result" type="text" value="" placeholder="Resulting URL"> 

Затем при нажатии на кнопку, JavaScript соединяющую полей ввода, даже если их содержание пуста.

$('#searchBtn').click(function() { 

    var url = 'http://particularURLof/'; 
    var who = "…WHO" + $('#whoValue').val(); 
    var what = "…WHAT"+ $('#whatValue').val(); 
    var when = "…YEAR[" + $('#whenStart').val() + "+TO+" + $('#whenEnd').val() + "]"; 
    var moreUrl = '…url End'; 

    var resultUrl = url + who + what + when + moreUrl; 
    $("#result").val(resultUrl); 

}); 

Поэтому, как уже упоминалось выше, я пытаюсь построить что resultUrl только с переменные что содержать значение в поле ввода.

Вот JSFiddle того, что у меня есть.

+3

Ну, что вы пробовали? Вы знаете, как проверить, является ли строка пустой, не так ли? Итак ... –

+0

Да, я видел, что я могу использовать '.val(). Length> 0', чтобы проверить, пустое ли поле. Таким образом: '$ (" # whoValue "). Val(). Length> 0'. Но я не знаю, как тогда объединить их вместе при построении окончательного 'resultUrl'. Надеюсь, это уточнит мой вопрос. – Trinker

+1

пожалуйста google «Как проверить пустую строку в js» –

ответ

0

Короче, если еще как:

var result = if_this_is_true ? true : false; 

дать вам пример с кодом

$('#searchBtn').click(function() { 

    var url  = 'http://particularURLof/'; 
    var who  = $('#whoValue').val().length > 0 ? "…WHO" + $('#whoValue').val() : ''; 
    var what = $('#whatValue').val().length > 0 ? "…WHAT"+ $('#whatValue').val() : ''; 
    var moreUrl = '…url End'; 

    var resultUrl = who + what + moreUrl; 
    $("#result").val(resultUrl); 

}); 

http://jsfiddle.net/n1jtrpmv/1/

+0

Да, отлично. У меня были проблемы с логикой, но это прекрасно. Благодаря! – Trinker

0

$ ('# searchBtn') нажмите (функция() {.

var url = 'http://particularURLof/'; 
var who = $('#whoValue').val(); 
var what = $('#whatValue').val(); 
var whenStart = $('#whenStart').val(); 
var whatEnd = $('#whenEnd').val(); 
var moreUrl = "endOfUrl"; 

if((who != '') && (what != '') && (whenStart != '') && (whenEnd != '')) { 
    var resultUrl = url + who + what + whenStart + whenEnd + moreUrl; 
} 
else if((who == '') && (what != '') && (whenStart != '') && (whenEnd != '')) { 
    var resultUrl = url + what + whenStart + whenEnd + moreUrl; 
} 
else if((who != '') && (what == '') && (whenStart != '') && (whenEnd != '')) { 
    var resultUrl = url + who + whenStart + whenEnd + moreUrl; 
} 
else if((who != '') && (what != '') && ((whenStart == '') || (whenEnd == ''))) { 
    var resultUrl = url + who + what + moreUrl; 
} 

$("#result").val(resultUrl); 

});

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