前提・実現したいこと
通販サイトの
検索機能に「サイズ」等の規格を追加するカスタマイズを行っており、
開発環境で実装実現いたしましたが、
本番環境にアップするとなぜかうまくいきません。
GooglechromeDevで調査すると
以下のようなエラーメッセージが発生したことが判明いたしました。
開発環境で再度動作の確認、
及びGooglechromeDevで視ても
問題なく動くのですが、
本番環境だとやはりどうにもこうにもという感じです。
もう1点不明なことが、
本番環境にアップして間もない時は、本番環境でも問題なく動作しました。
※1.しかしながら、本番環境にて商品を一旦一括削除し
再度商品をアップしたら、上記のような事象が発生しました。
ご回答ありがとうございます。
エラー検知該当箇所は以下でございます。
var num = document.form1.search_classcategory_id.selectedIndex;
特に開発環境では同様の箇所に値が入るのですが、
本番環境では「undefined」となってしまいます。
原因がわからなく、1日以上悩んでいる状態です。
どなた様か、アドバイスをいただけたら非常に幸いです。
発生している問題・エラーメッセージ
TypeError: Cannot read property 'undefined' of undefined
該当のソースコード
javascript
1<script type="text/javascript">
2 function func_submit_class( id, class_name ){
3 var fm = window.opener.document.form1;
4 var num = document.form1.search_classcategory_id.selectedIndex;
5 var classcategory_val = document.form1.search_classcategory_id.options[num].value;
6 var err_text = '';
7
8 fm.mode.value = 'select_product';
9 fm.select_classcategory_id.value = classcategory_val;
10 fm.select_product_id.value = id;
11 fm.select_rank.value = '119';
12 if(fm.select_pos){
13 fm.select_pos.value = '';
14 }
15 if (classcategory_val == '__unselected') {
16 err_text = class_name + "を選択してください。\n";
17 }
18 if (err_text != '') {
19 alert(err_text);
20 return false;
21 }
22
23 fm.submit();
24 window.close();
25 return false;
26 }
27</script>
28
29<form name="form1" id="form1" method="post" action="#">
30 <table class="list">
31 <col width="15%" />
32 <col width="12.5%" />
33 <col width="60%" />
34 <col width="12.5%" />
35 <tr>
36 <th>商品画像</th>
37 <th>商品コード</th>
38 <th>商品名</th>
39 <th>決定</th>
40 </tr>
41
42 <!--{foreach name=loop from=$arrProducts item=arr}-->
43 <!--▼商品<!--{$smarty.foreach.loop.iteration}-->-->
44 <tr>
45 <td class="center">
46 <img src="<!--{$smarty.const.ROOT_URLPATH}-->resize_image.php?image=<!--{$arr.main_list_image|sfNoImageMainList|h}-->&width=65&height=65" alt="" />
47 </td>
48 <td>
49 <!--{assign var=codemin value=`$arr.product_code_min`}-->
50 <!--{assign var=codemax value=`$arr.product_code_max`}-->
51 <!--{* 商品コード *}-->
52 <!--{if $codemin != $codemax}-->
53 <!--{$codemin|h}-->~<!--{$codemax|h}-->
54 <!--{else}-->
55 <!--{$codemin|h}-->
56 <!--{/if}-->
57 </td>
58 <td>
59 <!--{$arr.name|h}-->
60
61 <!--{assign var=class1 value=classcategory_id`$arr.product_id`_1}-->
62 <!--{assign var=classlist value=`$arrClassCat1List`}-->
63 <!--{if $tpl_classcat_find1[$arr.product_id]|h}-->
64
65 <dt><!--{$tpl_class_name1[$arr.product_id]|h}-->:</dt>
66 <dd>
67 <select name="search_classcategory_id" id="<!--{$class1}-->" style="<!--{$arrErr[$class1]|sfGetErrorColor}-->">
68 <!--{foreach from=$arrClassCat1[$arr.product_id] key=key item=item}-->
69 <option value="<!--{$key|h}-->">
70 <!--{$item|h}-->
71 </option>
72 <!--{/foreach}-->
73 </select>
74 </dd>
75 <!--{else}-->
76 <input type="hidden" name="<!--{$class1}-->" id="<!--{$class1}-->" value="" />
77 <!--{/if}-->
78 </td>
79 <!--{if $tpl_classcat_find1[$arr.product_id] == 'true'}-->
80 <td class="center"><a href="" onClick="return func_submit_class('<!--{$arr.product_id}-->','<!--{$tpl_class_name1[$arr.product_id]|h}-->');">決定</a></td>
81 <!--{else}-->
82 <td class="center"><a href="" onClick="return func_submit(<!--{$arr.product_id}-->)">決定</a></td>
83 <!--{/if}-->
84 </tr>
85 <!--▲商品<!--{$smarty.foreach.loop.iteration}-->-->
86 <!--{/foreach}-->
87 <!--{if !$tpl_linemax>0}-->
88 <tr>
89 <td colspan="4">商品が登録されていません</td>
90 </tr>
91 <!--{/if}-->
92
93 </table>
94 <!--{/if}-->
95 <!--{* ▲検索結果表示 *}-->
96
97</form>
試したこと
・開発環境にて※1と同様の操作を行っても
開発環境ではうまく動作してしまいます。
・現在の本番環境の該当するソースコードを
開発環境にコピペしても開発環境では正常動作してしまいます。
・データベースを確認致しましたが、
私が確認できる範囲ではデータの相違は見受けられませんでした。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。