2016-01-14 4 views
0

Я пытаюсь установить местозаполнитель в поле, которое исходит из PHP-запроса, но у меня нет успеха. Вот мой код:Невозможно установить .attr («placeholder», «text») с помощью jQuery

<form> 
<div class="form-group"> 
    <?php do_action('register_form'); ?> 
</div> 
<button type="submit">Go</button> 
</form> 

и выходной код в HTML выглядит следующим образом:

<input type="password" name="cimy_uef_wp_PASSWORD" id="cimy_uef_wp_1" class="cimy_uef_input_27" value="" maxlength="100"> 

Я пытаюсь выбрать это с помощью этой функции JQuery. Он работает в консоли, но не в самом сайте:

$(window).load(function() { 
    $("#cimy_uef_wp_1").attr("placeholder","Password*"); 
}); 
+0

код [работ] (https://jsfiddle.net/gaby/esucayav/). Является ли форма присутствующей на странице с самого начала или загружается через AJAX? –

+0

Я также проверяю код в консоли, и он работал, но только в консоли. Форма с самого начала отсутствует на странице. PHP генерирует его с помощью этого запроса с внешнего веб-сайта WordPress:

ответ

0
$(document).ready(function(){ 
    $('form').find("#cimy_uef_wp_1").each(function(ev) 
    { 
     if(!$(this).val()) { 
     $(this).attr("placeholder", "Password*"); 
    } 
    }); 
}); 

Скопируйте и вставьте этот код в файле JS, то это изменит весь замещающий текст с сайта в целом. Или добавьте JQuery, так что он работает после формы:

<form> 
    ... 
</form> 
<script> 
    $("#cimy_uef_wp_1").attr("placeholder","Password*"); 
</script> 
+0

oMiKey благодарю вас за усилия. Ваш код работает в консоли, но опять же не на веб-сайте. Я думаю, проблема в том, что форма создается с помощью PHP-запроса. Может быть, он загружается после jQuery ... Я не знаю. Очень странная проблема :( –

+0

Я думаю, вам, возможно, придется добавить placeholder с помощью php – oMiKeY

+0

было бы здорово, но, к сожалению, у меня нет доступа к PHP ... вам нужно будет найти способ с JS :) еще раз, спасибо вы за это! –

0

Я полагаю, ваш ЮЗ создать dybamically элемент с вызова Ajax. Если это так и глобальный вариант вызова AJAX не установлен в ложь, вы можете использовать что-то вроде:

 
$(document).ajaxSuccess(function(e, jqXHR, settings) { 
    if ($("#cimy_uef_wp_1").length > 0) { // the element is ready 
     $("#cimy_uef_wp_1").attr("placeholder","Password*"); 
    } 
});