验证检查动态文本框与个人提交按钮
问题描述:
我想创建类似下面的图像。每次单击按钮保存时,都需要验证文本字段(检查它是否为整数),向控制器发送ajax,而不是重定向到任何页面。 我写的代码只能设法检查第一个字段,但不能检查其余的。我如何做到这一点,因此每个按钮只检查/提交相应文本框的ajax? 这里是我的代码验证检查动态文本框与个人提交按钮
- @students.each do |student|
.same-category
.collapsible-container
.collapsible-head
.wrap
.index
h1 = student.register_no
.name
h3 = student.name
.grade
h1 U
h5 x20.21
.arrow
#arrow-toggle =image_tag('arrow.svg', class: ['arrow-down', 'test'])
.collapsible-body
.wrap-content
.station-grade A: <12.01s
.station-grade B: 12.01 - 13.11
.station-grade C: 13.11 - 14.11
.station-grade D: 14.21 - 15.11
.station-grade E: 15.31 - 16.51
.score-input
= f.input '#', label: false, wrapper: false, input_html: { class: ['result-entry-textbox'], value: @station_score }
button#result-entry-save.result-save-button SAVE
JQuery的
$('#result-entry-save').click(function() {
var checkIsNum = /^\d+$/.test('#result-entry-textbox');
if(isNaN(checkIsNum)) {
alert('not num');
} else {
alert('is num');
}
});
答
做象下面这样: -
$('#result-entry-save').click(function() {
$('input[type="textbox"]').each(function(){
var checkIsNum = /^\d+$/.test($(this));
if(isNaN(checkIsNum)) {
alert('not num');
} else {
alert('is num');
}
});
});
也可以添加普通类要检查,然后做输入框如下所示: -
$('#result-entry-save').click(function() {
$('.common-class-name').each(function(){
var checkIsNum = /^\d+$/.test($(this));
if(isNaN(checkIsNum)) {
alert('not num');
} else {
alert('is num');
}
});
});
注: - 而不是显示多个警报,你可以做到这一点的一个警报象下面这样: -
$('#result-entry-save').click(function() {
var checkval = true;
$('input[type="textbox"]').each(function(){
var checkIsNum = /^\d+$/.test($(this));
if(isNaN(checkIsNum)) {
checkval = false;
} else {
checkval = true;
}
});
if(checkval == false){
alert("some input fields have non-integer value.Check and correct!");return false;
}
});
+0
谢谢!这非常有帮助! – Daniel
+0
@丹尼尔很高兴帮助你:) :) –
尝试使用类,而不是ID为按钮和文本框,并在JS选择更改上课 – Pavan
是的,我同意@Pavan,因为你有超过1个按钮,所以你需要在你的视图中提到类,因为如果你使用id作为JS中的选择器,它将搜索/仅用第一个条目标识, –
@pavan谢谢! – Daniel