Javascript Jquery val()不返回textbox的值
我试图在我的对象中分配文本框值,但根本没有得到任何值。我的文本框保存在一个模式中,当我单击submit按钮时,赋值会触发,代码确实会点击赋值,但不会返回键入的值Javascript Jquery val()不返回textbox的值,javascript,jquery,html,Javascript,Jquery,Html,我试图在我的对象中分配文本框值,但根本没有得到任何值。我的文本框保存在一个模式中,当我单击submit按钮时,赋值会触发,代码确实会点击赋值,但不会返回键入的值 if (($("#editWidgetModal").data('bs.modal') || {}).isShown) { //check for onclick event for the save button $('#edit-widget').on('click', null, function
if (($("#editWidgetModal").data('bs.modal') || {}).isShown) {
//check for onclick event for the save button
$('#edit-widget').on('click', null, function (event) {
event.preventDefault()
var completed;
//loop through each input box in the modal
$('#editWidgetModal input[type=text]').each(function () {
if (this.value == "") {
alert("Please enter all fields");
completed = false;
return false;
} else {
completed = true;
return false;
}
});
if (completed) {
//Now assign all textboxes and create an object to pass into the lineBasedChart mutator
var chartEditOptions = {
title: $('#chart-title').val(),
subtitle: $('#chart-subtitle').val(),
yAxis: $('#chart-yAxis').val(),
tooltip: $('#chart-tooltip').val(),
lineWidth: parsetInt($('#chart-lineWidth').val())
};
//set renderTo data attribute to the widgets created element
overlayedData.data("data-render", overlayedData.closest('.grid-stack-item-content').attr('id'));
chart[0].SetNewOptions(chartEditOptions);
$('#editWidgetModal').modal('hide');
}
});
}
这是我的HTML
<div class="modal fade" id="editWidgetModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="myModalLabel">Edit Widget</h4><!--add depending on which panel you have clicked-->
</div>
<div class="modal-body" id="myModalBody">
<!--Depending on which panel insert content-->
<div class="form-horizontal">
<div class="form-group">
<div class="col-md-2">
Chart title:
</div>
<div class="col-md-10">
<input id="chart-title" class="form-control" type="text" value="" name="title">
</div>
</div>
<div class="form-group">
<div class="col-md-2">
Chart subtitle:
</div>
<div class="col-md-10">
<input id="chart-subtitle" class="form-control" type="text" value="" name="subtitle">
</div>
</div>
<div class="form-group">
<div class="col-md-2">
Y-Axis text:
</div>
<div class="col-md-10">
<input id="chart-yAxis" class="form-control" type="text" value="" name="yAxis">
</div>
</div>
<div class="form-group">
<div class="col-md-2">
Tooltip text:
</div>
<div class="col-md-10">
<input id="chart-tooltip" class="form-control" type="text" value="" name="tooltip">
</div>
</div>
<div class="form-group">
<div class="col-md-2">
Line width:
</div>
<div class="col-md-10">
<input id="chart-lineWidth" class="form-control" type="text" value="" name="lineWidth">
</div>
</div>
<div class="form-group">
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
<button type="submit" value="DeleteWidgetConfirmed" class="btn btn-default btn-ok" id="edit-widget">Save</button>
</div>
</div>
</div>
</div>
</div>
</div>
&时代;
编辑小部件
图表标题:
图表副标题:
Y轴文本:
工具提示文本:
线宽:
取消
拯救
运行脚本时,文本框不在DOM中。您的代码中有一个输入错误:
parsetInt
应该是parseInt
。。。
你检查过你的控制台了吗
$('edit widget')。在('click',null,function(event){
event.preventDefault()
handleFormData();
})
函数handleFormData(){
var chartEditOptions={
标题:$(“#图表标题”).val(),
副标题:$(“#图表副标题”).val(),
yAxis:$('图表yAxis').val(),
工具提示:$(“#图表工具提示”).val(),
线宽:parseInt($(“#图表线宽”).val()
};
document.getElementById('result').innerHTML=JSON.stringify(chartEditOptions);
}
图表标题:
图表副标题:
Y轴文本:
工具提示文本:
线宽:
取消
拯救
该代码将根据您运行它的时间工作。你什么时候运行它?如果您在填写值之前运行它,那么当然,您将获得当时的值,而不是以后的值。显示代码上下文,在其中声明chartEditOptions
@T.J.Crowder我已重新编辑了我的帖子您是否尝试过.text()
?在您引用的代码中,最顶端的If
将永远不会为真,因此,代码不会连接click处理程序,您将永远不会得到任何东西。