2015-09-06 9 views
1

Я пытаюсь взять строку, введенную пользователем из текстового поля. Проверьте длину этой строки, и если строка превышает заданное число, выполните операцию среза на ней.Нарезка строки из текстового поля

Вот что я придумал, но мой код ничего не делает. Проверенная консоль, никаких ошибок не указано.

HTML:

 <form id="slice"> 
      Enter a pharse:<input type="text" id="text_box_2"><br> 

      <input type="button" value="slice" onclick="Slice()"> 

      Result: <input type="text" id="slice_result"><br> 
     </form> 

функция JavaScript:

function Slice(){ 
    var UserString = document.getElementById("text_box_2").value; 
    var UserStringValue = UserString.length; 
    var Result = Userstring.slice(1,6); 

    if (UserStringValue > 6){ 
     document.getElementById("Slice_result").value = Result; 
    } 
    else{ 
     alert("Please enter a longer phrase.") 
    } 
} 

что и где я ошибся?

+0

Изменить "Slice_result" в "slice_result" (в нижнем регистре) –

ответ

2

Будьте внимательны чувствительность к регистру.

Это:

var Result = Userstring.slice(1,6); 

Следует использовать UserString (капитала "S"), как определено ранее в коде.

Далее вход ID должно быть все в нижнем регистре, slice_result, чтобы соответствовать в HTML, но ваш код использует другой корпус:

document.getElementById("Slice_result") 

Вот working JSBin с этими исправлениями.

EDIT: Как указано в комментариях JaromandaX, если вы хотите взять первые 6 символов, вы должны использовать slice(0, 6).

+1

, чтобы получить первые 6 символов, он должен быть '.slice (0, 6)' –

+0

@JaromandaX правда, хорошая точка! Обновлена ​​ссылка JSBin. –

+0

@ Ahmad Mageed спасибо, у меня было ощущение, что я либо неправильно его кодировал, либо слишком долго смотрел на него, чтобы заметить ошибку орфографии/имени. Благодаря ! – kronis72

-2

Обычно использование следующих

var Value = $('#input_id').val(); 

потянет запрашиваемую информацию для вас.

Вы также можете настроить аргументы для своей функции среза и передать значение при запуске onclick();

Я также хотел бы отметить, что slice() является текущей js-функцией, хотя ваше вложение в капитал S является чем-то другим, может быть, лучше изменить это имя.

+3

JQuery был не просил –

2

от беглого чтения вашего кода. кажется, причиной этой линии

var Result = Userstring.slice(1,6); 

, а также это один

document.getElementById("Slice_result").value = Result 

должно быть

var Result = UserString.slice(1,6); 

и

document.getElementById("slice_result").value = Result 
Смежные вопросы