设置输入文本的默认值

时间:2013-08-25 02:54:59

标签: javascript jquery html

我的要求是将整个“html”保存在div中,但是当我将带有文本字段的“html”加载到div然后编辑文本框的值时,新设置的值不会反映在核心“html”。我尝试用fire bug检查值,它仍然保持相同或没有值。使用“jquery”我尝试设置属性但没有创建属性名称值。如何设置文本字段的值,然后使用新设置的值获取“html”。

这是我的HTML

<div class="sub_input_box">
  <input type="text" / class="boreder_line">
  <input type="text" id="txt" value=""/>
  <input type="hidden" id="hid" />
  <div class="clear"></div>
</div>

和我用来设置属性的jquery

$("#txt").attr("value", "some value");

6 个答案:

答案 0 :(得分:1)

您可以尝试这样的事情: -

  <input name="example" type="text" id="example" 
  size="50" value="MyDefaultText" onfocus="if(this.value=='MyDefaultText')this.value=''"
  onblur="if(this.value=='')this.value='MyDefaultText'" />

答案 1 :(得分:1)

有可能在HTML输入部分之前调用jQuery代码。你可以把jQuery的东西放在它下面,或者如果你不想,你可以这样做:

$(document).ready(function(){
    $("#txt").attr("value", "some value");
});

只有在页面完全加载时才会运行。

但是,目前还不清楚您是否正在使用AJAX将这些输入加载到DOM中。如果是这样,您需要在onSuccess回调函数中调用$("#txt").attr("value", "some value");,该函数在AJAX成功响应后触发。

答案 2 :(得分:0)

你试过了吗?

$("#txt").val("Hello World!");

设置文本值,和

var my_string = $("#txt").val();

获取文本值。

让我知道它是否有效。

答案 3 :(得分:0)

很好的问题。你会认为克隆会自己做这件事,唉,事实并非如此。

这是一个样本,而不是你希望适应你所需要的

  

<强> HTML

<div id=divToCopy>
    <input name=i1 value=foo><br>
    <input name=i2 value=bar>
</div>
<input type=button onclick=copyDiv(); value='Copy the div'>

<div id=newDiv>
    the copy will go here
</div>
  

<强>的JavaScript

    function copyDiv() {
        $('#newDiv').html($('#divToCopy').clone());

        $('#divToCopy :input').each(function() {
            var child=0;
            for (var i = 0; i < this.attributes.length; i++) {
                var attrib = this.attributes[i];
                var prop=$(this).prop(attrib.name);
                $($('#newDiv').find(' :input')[child]).prop(attrib.name,prop);
                child++;
            }
        });
    }

答案 4 :(得分:0)

但确实有效:http://jsbin.com/eXEROtU/1/edit

var html = '<input type="text" id="txt" value=""/>';

$(document).ready(function() {

  $("#load").click(function() {
    $("#sub_input_box").html(html);
  });

  $("#inspect").click(function() {
    alert($("#txt").val());
  });

});

答案 5 :(得分:0)

$(document).on('focusout','input[type="text"]',function(a){
console.log(a.target.value);
a.target.setAttribute("value",a.target.value);
});

这是我发现的解决方案,我必须在文本字段

的松散焦点上显式设置value属性
相关问题