我是jquery,ajax中的新手,但我想在单独的javascript函数中调用ajax,因为JSP文件是动态创建的,JSP文件中的按钮id也是使用for循环创建的。 我共享我的代码,并且有一个解决方案,将按钮id传递给jquery函数,并将该id传递给通过Jquery调用的ajax。
以下是通过jquery调用ajax的.js文件的代码:
function insertData(idvalue)
{
var forsplit = idvalue.id.split("_");
var qtsrl = forsplit[2];
var qtno = forsplit[3];
var queryid=idvalue.id;
var qtsrl_id = document.getElementById("qstn_srl_"+qtsrl+"_"+qtno).value;
var qstn_no_id = document.getElementById("qstn_no_"+qtsrl+"_"+qtno).value;
$.ajax(
{
type: "GET",
url: "aftermarksave.jsp",
data:{setvalues : qtsrl_id},
contentType: "application/json",
async: false,
success: function (data)
{
alert("Data passed");
},
error: function(data)
{
alert('Not passed Data: '+qtsrl_id);
}
});
}
我想传递" qtsrl_id" to" aftermarksave.jsp"通过Jquery:Ajax
这是我动态生成的.JSP文件,"这个"被传递给javascript函数并从"这个"中提取当前的id。对象
fw1.write("<td><lable for='marksimilar'>"+getmarkentry+"</lable>");
fw1.write("<input type='hidden' id='markentry_"+getmarkentry+"' value="+getmarkentry+">");
fw1.write("<br>");
fw1.write("<label>Serial No</label>");
fw1.write("<br>");
fw1.write("<input type='text' size='10' id='qstn_srl_"+queserial+"_"+queno+"' onBlur='makecapital();doOnBlur(this)'>");
fw1.write("<br>");
fw1.write("<label>Question No</label>");
fw1.write("<br>");
fw1.write("<input type='text' size='10' id='qstn_no_"+queserial+"_"+queno+"' onBlur='doOnBlur(this)'>");
fw1.write("<br>");
fw1.write("<input type='button' id='btn_mark_"+queserial+"_"+queno+"' onClick=**'insertData(this)'** value='Mark'>");
fw1.write("<br>");
if(getmarkentry.equals(""))
{
fw1.write("<input type='button' id='btn_delete' onClick='mark_same()' value='UnMark' disabled='disabled'></td>");
}
else
{
fw1.write("<input type='button' id='btn_delete' onClick='mark_same()' value='UnMark'></td>");
}
fw1.write("</tr>");
fw1.write("<tr>");
在上面的代码&#34; insertData(this)&#34;单击按钮时调用,我希望在该单击时通过jquery调用ajax。我们如何在javascript函数中实现这一点。
答案 0 :(得分:0)
您可以使用以下内容:
将Ajax脚本放在函数中:
function functionWithAjaxScript(qtsrl_id){
$.ajax(
{
type: "GET",
url: "aftermarksave.jsp",
data:{setvalues : qtsrl_id},
contentType: "application/json",
async: false,
success: function (data)
{
alert("Data passed");
},
error: function(data)
{
alert('Not passed Data: '+qtsrl_id);
}
});
}
单击按钮时,使用.on()
触发该功能:
$(function() {
$("#mybuttonid").on("click",function(){
functionWithAjaxScript(param);
});
})
我希望这会有所帮助。