在我的表单中,我检查了输入无线电和图像更改,但我填充输入文本和图像更改回来
in my form I checked input radio and image changes, but I fill input text and the image changes back
好了,我的大问题来了:
我有这个表单,它有一个提交按钮,只有当您检查并填写了两个输入时才启用(这没有问题)。如果你按照这些步骤去做,你就会意识到我的问题在哪里:
- 加载这个jsfiddle https://jsfiddle.net/ozLmdx4o/现在不要太注意代码,只看表单:有一个默认的配置文件图像,一个空的输入文本,一个未选中的输入单选,和一个禁用的提交按钮。
- 测试表单:填写输入文本并检查输入单选,观察默认配置文件图像如何更改为另一个图像。选中或取消选中输入无线电,观察图像是如何链接到这个输入的。这是这一切的关键。
- 但是,如果你的输入文本填错了怎么办?所以删除你在输入文本中输入的内容,然后重新开始…但是…什么?图像已恢复到默认配置文件图像!即使它连接到输入电台!为什么? ?
为什么会这样?现在你可以检查代码了,因为一定有什么地方我遗漏了。谁能帮我保持图像链接到输入单选按钮?输入单选按钮未选中=默认配置文件图像。输入单选按钮选中=特殊图像。
//INPUT RADIO ON & OFF CODE
var prv1;
var markIt1 = function(e) {
if (prv1 === this && this.checked) {
this.checked = false;
prv1 = null;
} else {
prv1 = this;
}
checkIfValid();
if (!e.target.checked) {
var img = document.getElementById('theimage');
img.src = 'https://s17.postimg.org/7gc66bzu7/user.jpg';
}
};
//TURN ON AND OFF FUNCTIONS
$(function() {
$('input.whatever_class').on('click', markIt1);
$('input[type=text]').on('keyup', markIt1);
});
var sbmtBtn = document.getElementById('SubmitButton');
sbmtBtn.disabled = true;
//CHANGE IMAGES
function changeImage(imgName) {
image = document.getElementById('theimage');
image.src = imgName;
}
function checkIfValid() {
var current = $('input[type=radio]:checked');
if ((current.length >= 1) && ($('input[type=text]').val() != "")) {
sbmtBtn.disabled = false;
} else {
sbmtBtn.disabled = true;
}
};
我希望图像不改变任何时候我修改输入文本。谁能修复我的代码只是必要的解决这个问题?
谢谢!
添加此检查:
if (!e.target.checked && !document.getElementById('whatever_id').checked) {
var img = document.getElementById('theimage');
img.src = 'https://s17.postimg.org/7gc66bzu7/user.jpg';
}
它正在对输入文本运行检查功能,但没有被检查,因此出现了问题。希望能有所帮助。
PS:我一直保持e.a rtarget .checked,但如果不需要,那么你可以删除它
使用markIt1()
作为文本框和单选按钮的事件处理程序。e.target.checked
的值是误导性的,因为e.target
可能是文本框或单选按钮。e.target.checked
总是为文本框返回false
。我会为每个事件使用单独的事件处理程序。
相关文章:
- 正确输入的文本会更改图像
- 我想在选择输入文件上显示图像
- 如果图像标记是用javascript编写的,并且需要用户输入,那么图像不会随页面加载吗
- jQuery-根据值在输入字段后追加图像
- 将图像数据设置为输入文件标记
- 使输入文本的背景图像在点击“”时滑出视野;输入“”;
- 正确输入的文本会更改图像
- 不显示为表单元素的图像输入按钮的动态创建和appendChild
- 输入类型的图像在Internet Explorer中不起作用,但在Chrome和Firefox中起作用
- 在Jquery中将鼠标悬停在图像上后获取输入标记的URL
- Jquery.对话框未从表中的图像输入打开
- 表单验证和提交时提交文本&输入按钮上带有验证的图像
- 提交输入类型=“;图像“;到另一个servlet时,未能返回任何参数
- 如何在引导程序中将输入文本框嵌入到图像的顶部
- 将多个输入值传递给函数以更新图像
- jQuery-鼠标输入闪烁图像
- 如何在类型为“”的输入上调用onclick函数;图像”;
- 在同一页面上使用jQuery Mobile Flip Switch切换具有隐藏输入样式的图像
- 如何在js上创建图像输入级别(输出)
- 检测图像输入加载