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

时间:2015-04-06 20:35:47

标签: jquery forms mysqli live-preview

我在这个页面上找到了一个很棒的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>

1 个答案:

答案 0 :(得分:0)

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

$(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>