Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Смена настроек css для следующего блока через javascript (https://javascript.ru/forum/css-html/78449-smena-nastroek-css-dlya-sleduyushhego-bloka-cherez-javascript.html)

Mikael86 16.09.2019 16:05

Смена настроек css для следующего блока через javascript
 
Есть функция которую я хочу вызывать через validtext(name); не прописывая ClassName, но в таком формате не работает строка для обработки следующего блока

function validtext($text) {   
$text[0].next(".error_block").css("display","block");}


При вызове функции через ClassName всё работает в таком формате, но меня это не устраивает

$( document ).ready(function() {
$(".text_valid").after("<p class='error_block'>Поле не заполнено!!!</p>");
$(".text_valid").change(function(){
  var text_val = $(this)[0].value;     
  if (text_val == "" || text_val == " ") {
    $(this).removeClass("accept");
    $(this).addClass("error");
    $(this).next(".error_block").css("display","block");  
  } else {
    $(this).removeClass("error");
    $(this).addClass("accept");
    $(this).next(".error_block").css("display","none");  
  }
});});


<input type="text" class="text_valid" placeholder="Имя"  name="name">
<p class='error_block'>Поле не заполнено!!!</p>


Что я делаю не так?
PS Javascript не знаю, изучаю на ходу по необходимости.

Вызов функции при отправке формы
function valid(form){
var name = document.getElementsByName("name");
validtext(name);}

рони 16.09.2019 16:25

Mikael86,
у элемента нет метода next, нужен обьект jquery, у которого это метод есть!
$($text[0]).next

Mikael86 16.09.2019 16:29

Огромное спасибо
 
Спасибо за подсказку, вы мне очень сильно помогли


Часовой пояс GMT +3, время: 08:39.