2016-03-12 3 views
3

им пытаются изменить границу, если пользователь оставить вход пустой после отправкиJavascript ввод требуется изменение входной границы

хорошо, я попробовал:

<script> 
    function required (id) { 
     document.getElementById(id).style.border = "#FF0000 5px inset"; 
    } 
</script> 
<form method="post"> 
<input type='text' id='req' name='t'> 
</form> 
<? 
if ($_POST) 
    if (isset($_POST['t'])) 
     echo "u've done"; 
    else 
     echo "<script>required('req');</script>"; 
?> 
+0

Не было бы проще использовать атрибут ['required'] (https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-required)? – Teemu

+0

не совместим с некоторыми браузерами, и я не буду влиять на него. Мне нужна граница. – script0r

+0

. Помимо совместимости, вы можете стилизовать эффект по своему желанию с помощью [': required pseudo-class'] (https: // developer. mozilla.org/en-US/docs/Web/CSS/:required). – Teemu

ответ

0

Мое решение с JavaScript:

HTML:

<form method="post" id="form1"> 
    <input type='text' id='req' name='t'> 

</form> 
<button type="submit" form="form1" value="Submit" onclick="myFunction()">Submit</button> 

JAVASCRIPT:

function myFunction() { 
    if (document.getElementById("req").value == '') { 
    event.preventDefault(); 
    required("req"); 
    } else { 
    alert("pas vide"); 
    } 

} 

function required(id) { 
    document.getElementById(id).style.border = "#FF0000 5px inset"; 
} 

CodePen

+0

merci mon ami;) – script0r

0

Я думаю, что я получил лучший подход :

<form method="post"> 
<input type='text' id='req' name='t' <?php if(!$_POST['t']): ?>class='required-input'<?php endif;?>> 
</form> 

Тогда в вас поставить «# FF0000 5px врезку» в вашем CSS, создавая класс «необходимый-вход» или любой другой.

В вашем коде нет интрузивных скриптов!

1

Изменение PHP код на следующее:

<?php // <- no short tag 
if ($_POST) { // <-- add brackets 
    if (isset($_POST['t'])) 
     echo "u've done"; 
    else 
     echo "<script>required('req');</script>"; 
} // <-- add brackets 
?> 
+0

nah, что не имеет значения – script0r

+0

Это имеет смысл, потому что без скобок только следующая строка считается выражением. – Tyr