我有一个网站网址字段,其中包含为之前填写表单的访问者设置的值。如果他们更改了值,则('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)
})
});
答案 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'));
});