2011-07-27 11 views
1

jqueryダイアログを使用してフォームをdbに送信しています。これは、beforeclose関数で、送信した内容を示すアラートを発します。問題は、私は火かき棒で未定義の '箱'を得ているということです。私は変数が自分のコードで動作すると仮定しましたが、明らかにそうではありません。誰かが私のコードをチェックしてどこでエラーが発生したのかを知ることができたら、感謝しています。私は関連するコードだけを投稿します。おかげであなたが投稿した内容に基づい未定義エラーによる警告の発射

beforeclose: function (event, ui) { 
       jAlert("You have successfully editted\n\rBox: "+box+"\n\r"+ 
          "Status: "+status+"\n\r"+ 
          "Size: "+size+"\n\r", 'Box addittion successfull'); 
       $("#f2").html(""); 
      } 

.click一部

$('#EB_submit').click(function() { 

      var submit = $('#EB_submit').val(); 
      var status = $('#EB_status').val(); 
      var id = $('#EB_id').val(); 
      var box = $('#EB_custref').val(); 
      var size = $('#EB_size').val(); 
      var service = $('#EB_service :selected').text(); 
      var address = $('#EB_address :selected').text(); 
      var data = 'submit=' + submit + 
         '&id=' + id + 
         '&status=' + status + 
         '&box=' + box + 
         '&size=' + size; 
+0

どこで 'beforeclose:'コールを使用していますか?もう少しコードを投稿できますか? – Dogbert

+0

@dogbert。 beforecloseはダイアログオプションの一部で、この場合は.clickイベントの前に使用されます。ありがとう – bollo

答えて

2

は、VAR「ボックスには、」クリック機能へのローカルおよびダイアログ関数に使用できません。ここで

var box; 

$('#EB_submit').click(function() { 

     var submit = $('#EB_submit').val(); 
     var status = $('#EB_status').val(); 
     var id = $('#EB_id').val(); 
     box = $('#EB_custref').val(); 

はフィドルです:http://jsfiddle.net/mwUjv/

+0

私はそれをローカルではなくグローバルにする方法はありますか?ありがとう – bollo

+0

私の答えに掲載されたコードを見てください。クリック機能とダイアログ機能の上にあるボックスを宣言します。 –

+0

アラートが表示されていますが、値の代わりに定義されていません。これは私が使っている方法です:var box; var status; var size; .clickイベントの上に。ありがとう – bollo

0

ボックスがbeforeclose機能で定義されていません。ボックスをグローバル変数として定義します。

関連する問題