2016-10-07 2 views
-1

У меня проблема, которую я пытаюсь выяснить. Это то, что у меня есть до сих пор, и, похоже, работает так, как было, но когда я добавляю в переменную php для автоматического заполнения поля ввода, он, похоже, не вычисляет используемые символы.Javascript для автоматического вычисления общего символа в поле ввода

Это поле имеет максимальное значение 80 символов, которое я не могу контролировать. Я должен ограничить его максимум 80 символов. Мне нужно, чтобы поле ввода автоматически вычислялось после загрузки формы и заполнения поля. Когда я включаю переменную php в значение ввода, поле ввода показывает поле, заполненное символами, однако поле остается на «нулевых» символах, пока я не переместим мышь в поле и не попытаюсь добавить другой символ.

<!doctype html> 
<html> 
<head> 
<meta charset="utf-8"> 
<title>Untitled Document</title> 
</head> 
<script type="text/javascript"> 
document.testform.countInput.focus(); 
function countChars(countfrom,displayto) { 
    var len = document.getElementById(countfrom).value.length; 
    document.getElementById(displayto).innerHTML = len; 
} 
</script> 

<form id="testform"> 
Title: <strong id="countOutput">0</strong><strong>/80 Max Character</strong> 
<input type="text" name="dsp_URL" value="" size="80" maxlength="80" lengthcut="true" id="countInput" onkeyup="countChars('countInput','countOutput');" /><br /> 
</form> 

<script type="text/javascript"> 


var input = document.getElementById ("countInput"); 
input.focus(); 
</script> 
<body> 
</body> 
</htmt> 
+0

Ваш код не содержит PHP, поэтому не совсем понятно, что вы просите. Обратите внимание, что PHP обрабатывается на стороне сервера, прежде чем запускается какой-либо JavaScript. Вы не можете использовать PHP-код после того, как страница будет возвращена клиенту. –

+0

Кроме того, 'document.getElementById (countfrom) .value.length'! =' Document.getElementById (countfrom) .value' –

+0

переменная php будет указана в значении = "$ url", который я оставил. Но при тестировании он не работает. – paulsvang

ответ

0

Я думаю, что можно с уверенностью предположить, что заполнение вашего текстового поля со строкой через PHP не вызывает условие countChars(), так как его триггер OnKeyUp на этом текстовом поле.

Возможно, вы найдете решение проблемы с How to impose maxlength on textArea in HTML using JavaScript. Я надеюсь, что это помогает ваша проверка :)

+0

Есть ли другое событие, которое я мог бы использовать для его запуска? Я здесь потерялся. – paulsvang

0

Вы должны вызвать функцию при загрузке страницы вместе с onkeyup события

document.testform.countInput.focus(); 
 

 
function countChars(countfrom, displayto) { 
 
    var len = document.getElementById(countfrom).value.length; 
 
    document.getElementById(displayto).innerHTML = len; 
 
}
<head> 
 
    <meta charset="utf-8"> 
 
    <title>Untitled Document</title> 
 
</head> 
 

 
<form id="testform"> 
 
    Title: <strong id="countOutput">0</strong><strong>/80 Max Character</strong> 
 
    <input type="text" name="dsp_URL" value="" size="80" maxlength="80" lengthcut="true" id="countInput" onkeyup="countChars('countInput','countOutput');" /> 
 
    <br /> 
 

 
    <script> 
 
    countChars('countInput', 'countOutput'); 
 
    </script> 
 

 
</form> 
 

 
<body> 
 
</body>

Просто убедитесь, чтобы определить countChars перед вызовом ,

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