获取<输入类型=“;文本“>它是在模态中动态创建的
Get the value of an <input type="text"> that was created dynamically inside a modal
我想获得在模态中动态创建的<input type="text">
的值,并将其放入变量"newcomment"中。这就是我输入的方式:
var newcomment;
var p = $("<p>");
p.append("Some text");
p.append("</p>");
p.append("<input type='text'id='comment_text' value='Comment'"+"onblur=newcomment=$('#comment_text').val()"+" onfocus=if(this.value==this.defaultValue)this.value=''>"+"</input>");
$("div.modal-body").append(p);
问题是,当我在模态中的文本框中写下类似"ok"的内容时,在我从文本框中集中注意力之后:newcomment似乎没有更新为"ok",并且仍然具有默认的"Comment"值。
1st:您需要使用newcomment=this.value
而不是newcomment=$('#comment_text').val()
第二:无需在输入的html代码中添加+
符号,而无需通过将变量放入来连接字符串
var newcomment;
var p = $("<p>");
p.append("Some text");
p.append("</p>");
p.append("<input type='text' id='comment_text' value='Comment' onblur='newcomment=this.value; alert(newcomment);' onfocus=if(this.value==this.defaultValue)this.value='' />");
$("body").append(p);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
这里不是真正的答案,但可能会帮助您找到问题的根源。
JS:
var newComment, defaultValue;
function doOnBlur(){
newComment = $('#comment_text').val()
}
function doOnFocus(){
if($('#comment_text').val() == defaultValue){
$('#comment_text').val('')
}
}
HTML:
<input type='text' id='comment_text' placeholder='Comment' onblur='doOnBlur()' onfocus='doOnFocus()' />
<!-- inputs dont have a close tag, also should use placeholder for temporary text -->
从这里,您可以在调试器中设置断点,并查看代码的错误位置。您还可以更容易地修改函数,而不是在HTML 中编写执行代码
相关文章:
- 将数据传递给由服务创建的Ionic模态
- 创建一个模态指令,并将click事件绑定到angular js中
- 在模态窗口上创建 cookie
- 创建一个模态窗口以使用 AngularJS 加载数据
- Angularjs $compiling模态窗口内容创建孤立的控制器
- 创建 iframe 嵌入并使用模态
- 在每个show()上创建新的模态对话框
- 获取<输入类型=“;文本“>它是在模态中动态创建的
- 在何处创建与控制器无关的角度模态对话框(角度材质)
- AngularJS在创建后将参数传递给模态
- 在onclick中创建和显示模态
- AngularJS模态不't将创建的值返回给数组
- 我试图在模态中创建动态表进行摊销
- 超链接与变量创建一个模态框/弹出
- 使用Backbone.js创建一个模态
- 在Yii中使用RenderPartial创建一个模态搜索
- 如何创建多个模态来显示不同的数据
- 无法关闭从母版页创建的Ajax ModalPopupExtender模态窗口
- Javascript /如何创建一个适当的模态页面覆盖
- 创建一个自定义Jquery模态表单来上传数据