jQuery 在 mysql 查询后直接加载实时预览表单

jQuery live preview form load directly after mysql query

我在此页面上找到了很棒的 jQuery 代码,并在我的网站上使用了它。它很好用。 带有 jQuery 的表单和实时预览。但是现在当我想更新数据库并再次打开表单时,它会正确地将文本放入表单域中,但只有在我单击进出该字段后才会开始预览。我如何强制我的函数在 mysqli 查询后直接开始预览?

    $(document).ready(function() {
    var commentNode = $('#lp-comment'),
        contactNode = $('#lp-contact'),
        contact = $('#contact'),
        website = $('#website');

    //comment...easy
    $('#live-preview-form input, #live-preview-form textarea').bind('blur keyup',function() {
        //comment
        commentNode.text($('#comment').val());
        commentNode.html($('#lp-comment').html().replace(/\n/g,'<br />'));
        contactNode.text(contact.val() + ' says:');

    });
});

 $(document).ready(function() {
 var commentNode = $('#lp-comment'),
  contactNode = $('#lp-contact'),
  contact = $('#contact'),
  website = $('#website');
 
 //comment...easy
 $('#live-preview-form input, #live-preview-form textarea').bind('blur keyup',function() {
  //comment
  commentNode.text($('#comment').val());
  commentNode.html($('#lp-comment').html().replace(/\n/g,'<br />'));
  contactNode.text(contact.val() + ' says:');
  
  

  
  
 });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div id="live-preview-form" class="lp-block field">
 <input name="contact" class="input" placeholder="Kontaktperson" type="text" id="contact" value ="<?php echo $contact ?>" required />
 </div>

<div id="live-preview-display" class="lp-block">
 
 <div id="lp-contact"></div>
 <div id="lp-comment"></div>
</div>

您需要在重新加载页面或任何其他数据更新时刷新预览。您可能会考虑创建一个函数来更新预览,以便可以在 $(document).readyonbluronkeyup 中调用它:

$(document).ready(function() {
  updatePreview();

  $('#live-preview-form input, #live-preview-form textarea').bind('blur keyup',updatePreview);
});

function updatePreview(){
  var commentNode = $('#lp-comment'),
      contactNode = $('#lp-contact'),
      contact = $('#contact');

  commentNode.text($('#comment').val());
  commentNode.html($('#lp-comment').html().replace(/\n/g,'<br />'));
  contactNode.text(contact.val() + ' says:');

}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div id="live-preview-form" class="lp-block field">
 <input name="contact" class="input" placeholder="Kontaktperson" type="text" id="contact" value ="<?php echo $contact ?>" required />
 </div>

<div id="live-preview-display" class="lp-block">
 
 <div id="lp-contact"></div>
 <div id="lp-comment"></div>
</div>