2016-01-14 27 views
0

我正在使用帶有角度js的struts 1.2發送jsp表單,我在設置輸入字段的值時遇到問題。下面是javascript代碼,用於在頁面加載時將服務器的字段「城市」設置爲jsp的默認值,這是因爲我無法使用html struts標記預先填充,因爲它不支持angularjs屬性我需要在輸入字段使用:如何將html文本字段的值從其默認值更改爲

<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

解決,顯然,問題的結合,我把javascript代碼的提交功能,在頁面的底部,它把它撿起來。

相關問題