2013-02-27 9 views
0

Я звоню в Struts2.3 dojo autocompleter onChange и обновляю текстовое поле в соответствии с значением автозаполнения, используя jquery ajax. если значение autocompleter вводится не в базе данных, тогда я хочу вызвать действие, чтобы сначала добавить этот элемент в базу данных.как вызвать struts2 действие из javascript?

мой Javascript код: -

dojo.event.topic.subscribe("/value", function(value, key, text, widget){ 
var itemcode=value; 
var data = {itemID:itemcode,itemDes:''};   
$.post("jsondefault/callAJax.action", data, function(data, textStatus) { 
    if(data.itemDes.length===0){ 
    alert("Ihis item is not saved please save it first."); 
    window.location = "/actionName.action"; 
    }else{ 
     $('#itdes').val(data.itemDes); 
    } 
}, "json"); 
}); 

JSP код: -

<div class="pull-left " style="width: 48%;"> 
<label id="item1">Item Code<br></label> 
<s:url id="itemList" action="/jsondefault/createCoupon2" method="getItems" />    
<sx:autocompleter id="itemC" href="%{itemList}" forceValidOption="true" size="24"    
name="item" autoComplete="false" showDownArrow="false" valueNotifyTopics="/value"> 
</sx:autocompleter> 
</div> <div class="pull-right " style="width: 48%;"> 
<label id="itdes1">Item Description</label> 
<input type="text" placeholder="Item Description" id="itdes"> 
</div> 
+0

не уверен, почему вы используете додзё теги с Struts2.3? –

+0

i m, используя dojo , чтобы сделать список автозаполнения из базы данных для этого i m, используя

ответ

1

я изменил мою некоторую строку кода в моей JavaScript

dojo.event.topic.subscribe("/value", function(value, key, text, widget){ 
var itemcode=value; 
alert(text);  
var data = {itemID:itemcode,itemDes:''};   
$.post("jsondefault/callAJax.action", data, function(data, textStatus) { 
    if(data.itemDes.length===0){ 
     var where_to= confirm("This item is not saved, Do you want to save it?"); 
     if (where_to== true) 
     { 
     window.location="addItem.action"; 
     } 
     else 
     { 
     window.location="createCoupon1.action"; 
     } 
    }else{ 
     $('#itdes').val(data.itemDes); 
    } 
}, "json"); 
});