1

このコードを試しましたが、入力がまだ検証されていなくてもフォームを送信します。

私のフォームのコードは次のとおりです。

<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(); ?>

これが私のjQueryのコードです:

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

ここに私の質問があります:

このフォームを送信する前に、入力内容にすでに値が含まれていることを確認するにはどうすればよいですか?

4

5 に答える 5

0

試す

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

参考文献

event.preventDefault

于 2013-10-01T16:43:34.320 に答える
0

返される内容を確認します。

$("#photosubmit").val()

null空の文字列とは異なる場合を返します。

これを試して:

if ($("#photosubmit").val()) {
    $("#upload_form").submit();
}
于 2013-10-01T16:55:56.310 に答える
0

1日研究した後、これを試してみましたが、うまくいきました。ファイル入力タイプのフォームに変更を加えた場合 (たとえば、新しいファイルをアップロードしたい場合) にのみ、フォームが送信されます。

$("#upload_image").click(function () {
  $("#photosubmit").click().change(function(){
    $("#upload_form").submit();
  });
});

将来誰かに役立つことを願っています。

于 2013-10-02T14:30:38.440 に答える