我有一个 spring-mvc 应用程序,前端带有 jsp 和 jquery。我在此 jsp 页面上有多个按钮,并且必须根据单击的内容执行不同的验证。我被困在这里几乎三天多了,试图修复自己。
这是jsp代码
<button id="previous" class="" type="reset">Previous</button> <br>'
<span id="saveSpan"><button id="save" name="save" type="submit">Save</button></span>
<span id="submitSpan"><button id="submit" type="submit">Submit</button></span><br>
<button id="cancel" type="reset">Cancel</button>
我需要区分单击“保存”和“提交”以进行不同的验证。在论坛上阅读,我为“保存”按钮指定了名称,因为 .val() 在没有名称的情况下无法使用。
MyRequestVO.java - 是具有所有值的表单对象。它在 jsp 类中的等效项是 myRequestVO。我在此类中定义了一个属性 btnText 并希望通过以下 javascript/jQuery 设置其值
验证器类在到达 Controller 之前被调用。我一直在尝试获取提交的按钮文本字符串来调用验证器类中的正确逻辑。无论我做什么,该值都会返回为 null。
$('#save').click(function() {
if($('#userId').val() == ""){
alert("Select UserId);
}else{
**var save = $( this ).text();
$("#btnText").val("save");**
//上面两行是我尝试添加的代码,用于获取分配给 formclass 属性的 save 值。这是我做得不对的地方。请帮我将按钮值传输到java类。
$('#myRequestVO').attr('action','$history');
$('#myRequestVO').submit();
}
return false;
});
事实上,我正在尝试设置一个值,因为之前触发了验证器类。我的想法是根据按钮单击以某种方式向验证器类发送请求参数。在验证器中,除了值对象之外,我无权访问请求对象。
提交时,现有代码正在调用此代码,并且 id 需要从 jsp 页面传递一个参数以设置为 myRequestVO 以在验证器中使用,以对保存和提交进行不同的验证 ModelandView(@Valid myRequestVO,BindingResult结果,HTtpRequest请求,HttpResponse响应)
最佳答案
代码修复:
-在选定用户 ID 的警报中缺少引号 另外,您声明您调用了 btnText class(.),但随后调用了 btnText id(#)
<input type="text" name="userId" id="userId" value="" /> <br />
<button id="previous" class="" type="reset">Previous</button> <br />
<span id="saveSpan"><button id="save" name="save" type="submit">Save</button></span> <br />
<span id="submitSpan"><button id="submit" type="submit">Submit</button></span> <br /> <button id="cancel" type="reset">Cancel</button>
$('#save').click(function() {
if($('#userId').val() == ""){
alert("Select UserId");
}else{
var save = $( this ).text();
$(".btnText").val("save");
}
});
关于javascript - jquery - jsp中的多个提交按钮并且无法检索验证器类中的按钮值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25224166/