Javascript jQuery-验证表单

Javascript jQuery-验证表单,javascript,php,jquery,forms,codeigniter,Javascript,Php,Jquery,Forms,Codeigniter,我尝试了这段代码,但它仍然提交表单,即使输入尚未验证 以下是我表格的代码: <a style="cursor: pointer;" id="upload_image">Upload Image</a></li> <?php $attributes = array('id' => 'upload_form'); echo form_open_multipart('c=web_page&m=upload_img', $attribute

我尝试了这段代码,但它仍然提交表单,即使输入尚未验证

以下是我表格的代码:

<a style="cursor: pointer;" id="upload_image">Upload Image</a></li>

<?php
 $attributes = array('id' => 'upload_form'); 
 echo form_open_multipart('c=web_page&m=upload_img', $attributes); 
?>

<input type='file' style="display:none;" name="photosubmit" id="photosubmit"/>
<?php echo form_cose(); ?>
所以我的问题是:


我如何确保在提交此表单之前,我的输入已经有一个值?

如果您想通过id获取元素,您应该执行以下操作:

if( $('#photosubmit').val() != "")
而不是:

if( $('photosubmit').val() != "")
更新答案:
在的帮助下,我找到了一个完全有效的解决方案:

$("#the_form").submit(function(event) {
  if ( $( "input:first" ).val() !== "" ) {
    alert("The file input is valid.");
    return;
  }
  alert("The file input is not valid.")
  event.preventDefault();
});
试试看

$("#upload_image").click(function (e) {
    e.preventDefault();
    if ($("#photosubmit").val() != "") 
           ^ //added # here
    $("#upload_form").submit();
});
参考资料


检查返回的内容:

$("#photosubmit").val()
If返回与空字符串不同的
null

试试这个:

if ($("#photosubmit").val()) {
    $("#upload_form").submit();
}
您的代码中缺少一个#,它必须是:

$("#upload_image").click(function(){
 $("#photosubmit").click();
  if( $('#photosubmit').val() != "")
   $("#upload_form").submit();
});

另外,“上传”图像点击事件,是检查您的输入[type=“file”]是否已填写的正确事件吗?

经过一天的研究,我尝试了这个事件,效果良好。 只有在您对文件输入类型表单进行任何更改(例如,您希望上载新文件)后,它才会提交表单


我希望它能在将来帮助某些人。

控制台说了什么?没什么,它只是提交表单,而不确保输入必须先有一个值。问题可能在其他地方:签出JSFIDLE。无论是否选择了文件,它都会提交表单。我仍在努力解决这个问题,答案就在这里。点击JSFIDLE链接。我不明白,伙计,还是不工作。我的浏览器中没有发生任何事情。我们真的需要“提交”按钮来提交此表单吗?这是表单元素,我使用codeigniter作为我的web应用程序框架。您的表单无论如何呈现,都需要一个
onsubmit=“return false;”
。请看:但一旦我将其设置为return false,它就不会提交表单。卓,看看更新后的解决方案。我确信,它现在可以工作了。仍然不能工作。除了.val()函数外,还有其他方法可以用来确保我的输入文件已被设置吗?我想文件输入在单击之前已经有了值。仍然不能工作,即使文件已被选中或未被选中,它仍会提交表单
$("#upload_image").click(function(){
 $("#photosubmit").click();
  if( $('#photosubmit').val() != "")
   $("#upload_form").submit();
});
$("#upload_image").click(function () {
  $("#photosubmit").click().change(function(){
    $("#upload_form").submit();
  });
});