我正在使用带角度js的struts 1.2发送jsp表单,我在设置输入字段的值时遇到问题。这是javascript代码,用于设置当页面加载时从服务器进入jsp的字段“city”的默认值,这是因为我不能使用html struts标记预先填充,因为它不支持angularjs属性我需要在输入字段中使用:
<script>
$(function() {
var defaultCity = $("[name='city']").val();
$('#city').val(defaultCity);
});
</script>
这是jsp部分:
<body ng-controller="TypeaheadCtrl">
<form name = "LocationForm" method="POST" action="someaction.do">
<div class='container-fluid typeahead-demo' >
<div class="section">
<label class="field prepend-icon">
<input type="text" ng-model="asyncSelected" uib-typeahead="address for address in getLocation($viewValue)" id="city" class="gui-input" placeholder="City">
<span class="field-icon"><i class="fa fa-envelope"></i></span>
<html:hidden property="city"/>
</label>
</div><!-- end section -->
</div>
......
</form>
这个问题是,一旦我在该字段中输入内容以覆盖预先填充的内容,文本不会采用,struts操作只获取页面加载的原始值。所以我试着在jsp中添加以下内容,看看在提交表单时是否可以更改值,这里是代码:
//Needed to override load value at submition time
$("[name='LocationForm']").submit(function(e) {
var cityValue= $("[name='city']").val();
$('#city').val(cityValue);
});
然而它也没有用,调试到它仍然会返回原始值,即使我可以在浏览器中看到我输入的新值。
如果另一方面,我删除所有javascripts,然后jsp将发送新类型的值,但是,它不会在加载时设置字段的默认值,我需要发生两件事,加载默认值,如果我在输入字段中键入不同的内容,则应提交新值。
有人可以告诉我,我提交的内容是什么,以便能够在提交时提交字段中输入的内容而不是总是发送默认值吗?
提前致谢
答案 0 :(得分:0)
已解决,显然问题是绑定,我将javascript代码的提交功能放在页面底部并将其选中。