0

誰かが私をこれについて正しい方向に向けることができますか?私はこれに非常に慣れていないので、ここで何が起こっているのかわかりません。簡単そうに見えますが、何らかの理由で機能していません。

(Telerik)モーダルポップアップウィンドウがあり、いくつかの入力フィールドを持つフォームが含まれています。そのほとんどは、入力にhtmlヘルパーを使用します。これらのフィールドが機能していることを確認しています。フォームにはファイルのアップロードもあります。これが私が検証したいことです。

今のところ、ユーザーがファイルを選択したことを検証したいだけです。ファイルをアップロードせずにフォームを送信した場合は、ウィンドウが閉じる前に、アップロードするようにメッセージを受け取る必要があります。

これが私の入力です

<input type="file" name="file1" id="file1" /><br />
<label for="file1" id="file1Error">Please choose a file</label>

これは、最初にエラーメッセージを非表示にし、ファイルの存在を確認し、ファイルがない場合はエラーを表示するjqueryです。

$('#Submit')
  .click(function()
  {
   ('#file1Error').hide();
   var file = $('#file1').val();
   if (! file)
  {
  $('#file1Error').show();
  return;
  }
  }); 

コードに到達していないように感じます。私はそれをいくつかの場所に置いてみました:ページ上の既存のtelerikスクリプトレジストラ(モーダルウィンドウをロードするためのjavascriptが存在する場所)内、それ自体のスクリプトレジストラ内で、ロードスクリプトの.open()内にネストします。

誰かが私にこれを理解するための正しい方向へのプッシュを与えることができますか?

編集:今のところ私の要件の範囲を変更します。送信ボタンがクリックされたときにエラーメッセージを表示したいだけです。(後で検証を追加できます)。では、なぜこれが機能しないのですか?

    //initially hide the message--this works fine

 $(function()
   {
      $('#file1Error').hide();

 //display the message on submit click--this does not work
   $('#Submit').click(function()
   {
      $('#file1Error').show();
   });
}); 
4

3 に答える 3

0

フォームを送信するにテストする必要があります。こちらをご覧ください。

于 2012-05-18T16:10:35.187 に答える
0

4行目を確認してください。
$('#file1Error')。hide();

于 2012-05-18T16:12:51.170 に答える
0
$('#Submit').click(function()
  {
   ('#file1Error').hide();
   var file = $('#file1').val();
   if (file == "")
  {
  $('#file1Error').show();
  return false;
  }
return true; 
//or $('#frm1').submit();
  }); 
于 2012-05-18T16:46:06.163 に答える