Как поместить значение в поле ввода с помощью Jquery?

0

Используя ajax, число отражается в echo $response; php echo $response; Затем в JQuery я хотел бы поместить этот номер в поле "total one". Как я могу это сделать?

Код пока:

В php файле

echo $response;

В файле Jquery

jQuery(document).ready(function($) {
    (function($) {
        $(document).ready(function() {
            $('#formsubmit').click(function() {
                $.post(
                PT_Ajax.ajaxurl, {
                    action: 'ajax-inputtitleSubmit',
                    numberofwelds: $('input[name=numberofwelds]').val(),
                    numberofconwelds: $('input[name=numberofconwelds]').val(),
                    nextNonce: PT_Ajax.nextNonce
                }, function(response) {
                    $('#totalone').val(response);
                });
                return false;
            });
        });
    })(jQuery);
});

ОБНОВИТЬ

На console.log отображается номер, который я пытаюсь отобразить в поле #totalone. В консоли JS нет ошибок.

PHP, который создает ответ Ajax для отправки обратно в Jquery:

 function myajax_inputtitleSubmit_func() {
        $nonce = $_POST['nextNonce'];   
    if ( ! wp_verify_nonce( $nonce, 'myajax-next-nonce' ) )
        die ( 'Busted!');

    $numwelds = isset($_POST['numberofwelds']) ? $_POST['numberofwelds'] : '';
$numconwelds = isset($_POST['numberofconwelds']) ? $_POST['numberofconwelds'] : '';

if (is_numeric($numwelds) && is_numeric($numconwelds))
{
    $total = $numwelds + $numconwelds;
    $response = json_encode($total);
    header("Content-Type: application/json");  
    echo $response;
    exit;
} 
}

Форма HTML

<form action="" method="post" name="formsubmit" id="formsubmit"   >
<h1> Process </h1>
<p> operation type always robot </p>
Number of welds: <input type="number" name="numberofwelds" id="numberofwelds"  >
<br /> <br />
Number of construction welds: <input type="number" name="numberofconwelds" id="numberofconwelds"  >
<br /> <br />
Total one: <input type="text" name="totalone" id="totalone" disabled>
<br /> <br />
<input type="submit"  value="Calculate" id="submit" name="submit" class="ajax-link" >
<div id="result"> </div>
</form>
  • 0
    То есть , как вы установите значение поля: jsfiddle.net/QW8U6 . Любые ошибки JavaScript в консоли? Вы записали значение response ? Вы уверены, что $('#totalone') выбирает элемент?
  • 0
    В консоли нет ошибок. Когда я заменяю $('#totalone').val(response); with console.log (response); `номер отображается в консоли. #totalone - это идентификатор, я также #totalone это выше.
Показать ещё 4 комментария
Теги:

3 ответа

0
Лучший ответ

Я изменил одиночные кавычки здесь $('#totalone').val(response); удвоить это значение $("#totalone").val(response); , Кажется, сейчас работает, и я не совсем понимаю, почему он работает.

1

Я нашел несколько дополнительных скобок и т.д. В вашем коде. Вот очищенная версия, которая может просто работать:

(function($) {
  $(function() {
    $('#formsubmit').click(function(){
        $.post(
            PT_Ajax.ajaxurl,
            {
                action : 'ajax-inputtitleSubmit',
                numberofwelds : $('input[name=numberofwelds]').val(),
                numberofconwelds : $('input[name=numberofconwelds]').val(),
                nextNonce : PT_Ajax.nextNonce
            },
            function( response ) {
                $("#totalone").val(response);
            }
        );
        return false;
    });
  });
}(jQuery));
  • 0
    опубликовать выход журнала пожалуйста.
  • 0
    console.log?
Показать ещё 7 комментариев
0

Попробуй это. измените значение val() на текст()

jQuery(document).ready(function($) {
    (function($) {
        $(document).ready(function() {
            $('#formsubmit').click(function() {
                $.post(
                PT_Ajax.ajaxurl, {
                    action: 'ajax-inputtitleSubmit',
                    numberofwelds: $('input[name=numberofwelds]').val(),
                    numberofconwelds: $('input[name=numberofconwelds]').val(),
                    nextNonce: PT_Ajax.nextNonce
                }, function(response) {
                    $('#totalone').text(response);
                });
                return false;
            });
        });
    })(jQuery);
});
  • 0
    Спасибо, но это не похоже на работу.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню