Jquery - 如何复制在加载时具有值的输入

时间:2013-12-04 21:54:27

标签: javascript jquery

我有一个网站网址字段,其中包含为之前填写表单的访问者设置的值。如果他们更改了值,则('keyup blur paste', function()会将其复制到div。如果他们不更改值,则('keyup blur paste', function()不会将值复制到div

我想弄清楚如何向该脚本添加一个函数,如果它们没有更改它,也会将值复制到div,因为blur只有在点击在提交表格之前输入。

这是我目前的剧本:

$(function () {
     $('#Website').on('keyup blur paste', function() {
    var self = this;
    setTimeout(function() {
      var str = $(self).val();
      $("#viewer").text(str.replace(/^http\:\/\//, ''));
    }, 0)
    })
});

3 个答案:

答案 0 :(得分:0)

在您的网页上加载...

   $('#mydiv').html('whatever the value of the cookie');

你需要的是什么?正如他们在上面的评论中提到的,你的问题有点令人困惑。

答案 1 :(得分:0)

如果我找到你的正确,你想在加载时以及在keyup / blur / paste上填充div?像这样的东西?

$(function () {
    $('#Website').on('keyup blur paste', function() {
        var self = this;
        setTimeout(function() {
            var str = $(self).val();
            $("#viewer").text(str.replace(/^http\:\/\//, ''));
        }, 0)
    });
    // just add the line below
    $("#viewer").text($('#Website').val().replace(/^http\:\/\//, ''));
});

我已经更新了您创建的小提示,以证明这有效:http://jsfiddle.net/8kn4V/2/

答案 2 :(得分:0)

使用val()输入,选择和textareas,并使用text()作为div等常规元素。

第一个解决方案

现在看来你正在使用0的超时。我认为这根本不是必需的。所以请查看此Fiddle

$('#website').on("keyup blur paste", function () {
    var s = $(this).text();
    $("#viewer").text(s.replace(/^http\:\/\//, ''));
});

已编辑的解决方案

现在看来,即使未触发,您也希望代码从#viewer更新#website。 这是第二个fiddle - 如果能够解决目前的问题,我希望你能给予赞扬。

相关代码:

function viewerupdate(me){
    var s = me.text();
    $("#viewer").text(s.replace(/^http\:\/\//, ''));
}

$('#website').on("keyup blur paste", function () { viewerupdate($(this)) });

var current_viewer = $('#viewer').text();
$('#submit').click(function(){ // assumes in the case that no change was made, that the submission is done through #submit
    if($('#viewer').text() == current_viewer )
        viewerupdate($('#website'));
});