www.webdeveloper.com
Results 1 to 9 of 9

Thread: live preview of input form value

  1. #1
    Join Date
    Dec 2006
    Posts
    145

    live preview of input form value

    I'm working on some small project and I have troubles exactly like here:
    how-to-make-live-preview-based-on-information-entered-in-a-form

    I have a form with input fields where is possible to write values (width, height, margin, padding, etc.). I want "live preview" of what I'm changing. I tried something like:

    Code:
    <script>
    $("#width").live("hover", function () {
    var valWidth = $(this).val();
    $("#test").css( "width", $("#test").width(valWidth) ).change();
    });
    $("#height").live("hover", function () {
    var valHeight = $(this).val();
    $("#test").css( "height", $("#test").height(valHeight) ).change();
    });
    
    ...
    </script>
    but it reset after choosing another input field. Any help will be appreciated.

  2. #2
    Join Date
    Nov 2006
    Location
    Oakland
    Posts
    500
    If #width, #height,.. are associated with an input field (text) then the event you should be handling are the "change".
    Assuming the "#test" element is used for the preview:

    $("#width").live("change", function () {
    var valWidth = parseInt($(this).val());
    if(!isNaN(valWidth)){
    $("#test").css( "width", valWidth);
    }
    });

    Your script resets after choosing another input field because of the hover

  3. #3
    Join Date
    Dec 2006
    Posts
    145
    Now it seems to work - thank you.

    I used "hover" to show preview after putting new value in input field (without leaving this field). Is there any way to could do it (maybe onkeypress or something)?

  4. #4
    Join Date
    May 2006
    Location
    Somewhere behind your screen
    Posts
    1,648
    onkeyup
    xxx: Guess Buddhist riddle: "What is the sound of one hand clapping?"
    yyy: facepalm

  5. #5
    Join Date
    Dec 2006
    Posts
    145
    With "onkeyup" instead of change it change but after pressing "enter" but not in real time of writing changes.

  6. #6
    Join Date
    Nov 2010
    Posts
    1,036
    Code:
    <form id="div_builder">
       <input type="text" id="width"/>
       <input type="text" id="height"/>
       </form>
    <div id="test" style="background-color:red">hello</div>
    
    <script type="text/javascript">
    $("#width").keyup(function () {
    var valWidth = Number($(this).val());
    if(!isNaN(valWidth)){
    $("#test").css( "width", valWidth);
    }
    });
    
    $("#height").keyup (function () {
    var valHeight = Number($(this).val());
    if(!isNaN(valHeight)){
    $("#test").css( "height", valHeight);
    }
    });
    </script>

  7. #7
    Join Date
    Dec 2006
    Posts
    145
    It works partially (only for first "width" input). Any suggestions?

    EDIT:

    Got the error - I had default value in my input. Everything works as it should after removing it. Thank you!
    Last edited by Annaccond; 05-31-2012 at 09:11 AM.

  8. #8
    Join Date
    Nov 2010
    Posts
    1,036
    you're welcome. if you want to cut down on repetition...

    Code:
    <form id="div_builder">
       <input type="text" class="changeD" id="width"/>
       <input type="text" class="changeD" id="height"/>
       </form>
    <div id="test" style="background-color:red">hello</div>
    
    <script type="text/javascript">
    $(".changeD").keyup (function () {
    var theval = Number($(this).val());
    if(!isNaN(theval)){
    $("#test").css( this.id, theval);
    }
    });
    </script>

  9. #9
    Join Date
    Dec 2006
    Posts
    145
    This is just perfect Thank you very much once again.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center



Recent Articles