jquery 取頁面全部的text的元素在取 ID和值


我現在想問的是

我現在用struts2 結合了jqeury用的是jqeury里的ajax事件

$.ajax(
{
type: "POST",
url: "sturts2/example/Hello.action",
data:??????,
dataType:"html",
success: 
function(msg) { }

在data那里傳是知道  可是不知道怎么取那些頁面里的值
我用ajax提交可是參數傳不過去  我想把頁面的全部的 input type=“text” 的值  在sturts java類里要取它。  我應該怎么傳過去?

8 个解决方案

#1



<script type="text/javascript" src="js/jquery-1.3.2.js"></script>
<script>
window.onload=function(){
var s = "";
$("input[type='text']").each(function(){s += $(this).attr("name")+":"+$(this).val()+",";})
if(s!='') s = s.substr(0,s.length-1);
s = "{" + s + "}";
alert(s);
}
</script>

<input type="text" name="x" value="xx">
<input type="text" name="y" value="yy">
<input type="text" name="x" value="zz">

#2


hookee老大動作好快啊,支持

#3


謝謝 hookee~~

#4


能不能把 name 改成ID呀?

#5


怎么改成 ID 就不顯示啊》

#6


可以的。改一下,屬性兩邊加引號。最后eval成對象即可給data了


<script type="text/javascript" src="js/jquery-1.3.2.js"></script>
<script>
window.onload=function(){
var s = "";
$("input[type='text']").each(function(){s += $(this).attr("id")+":'"+$(this).val()+"',";})
if(s!='') s = s.substr(0,s.length-1);
s = "{" + s + "}";
var dt;
eval("dt = " +s);
alert(dt.x)
}
</script>

<input type="text" id="x" value="xx">
<input type="text" id="y" value="yy">
<input type="text" id="x" value="zz">

#7


hookee請問 
var dt;
 eval("dt = " +s);

在這里為什么 必須得 eval("dt = " +s);啊? 為什么這么用就不行--》eval(s)

#8


struts1.2的例子

.jsp

var unitName=$("#unitName").val();  //#+元素ID

function getDecimalByUnit(unitName){

var decimal;
$.ajax({
async:false,
type:"Post",
url:"../findGoods.do?method=getDecimalByUnit&unitName="+unitName,
success:function(data){
decimal=data;
}
});
return decimal;
}

atction 



public ActionForward getDecimalByUnit(ActionMapping mapping,
ActionForm form, HttpServletRequest request,
HttpServletResponse response) {
String unitName=null;

try {
unitName=new String(request.getParameter("unitName").getBytes("ISO-8859-1"), "UTF-8");
} catch (UnsupportedEncodingException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}

WmsBaseUnitDAO dao=new WmsBaseUnitDAO();
String decimal=dao.getDecimalByUnit(unitName);
PrintWriter out=null;
try {
out=response.getWriter();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
out.print(decimal);
out.close();
return null;
}

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2020 ITdaan.com