首页 > 解决方案 > 未捕获的 ReferenceError:未定义 add_row_weekly

问题描述

这段代码有什么问题?我收到 javascript 的未定义函数错误。

1-

未捕获的 ReferenceError:未定义 add_row_weekly

2-

未捕获的 ReferenceError:未定义 add_link_menu

3-和其他类似的。

我在很多网站上搜索但无法解决。我不是开发者

谢谢

<div class="fields fields3">
<label class="title">کلاس آیکن:</label>
<input dir="ltr" type="text" id="menu_link_icon[]" name="menu_link_icon[]" value="
<?php echo $menu['menu_link_icon'][$i];
 
?>" placeholder="
<?php bloginfo('url');
 
?>">
</div>
<span class="close" onclick="$(this).parent().slideUp(function(){$(this).remove();
});
"><i class="icon-remove"></i></span>
</div>

<?php } 
?>
</div>
<button type="button" class="add_link_menu" onclick="add_link_menu();
">افزودن لینک</button>
<script>
function add_link_menu(){ var rand_num = Math.floor((Math.random() * 1000000000) + 1000);
 $("#add_link").append('<div class="item"><div class="fields fields3"><div class="title">عنوان لینک :</div><input type="text" name="menu_link_name[]" placeholder="باکس آفیس"></div><div class="fields fields3"><label class="title">آدرس لینک :</label><input dir="ltr" type="text" id="menu_link_url[]" name="menu_link_url[]" placeholder="
<?php bloginfo('url');
 
?>"></div><div class="fields fields3"><label class="title">عنوان انگلیسی :</label><input dir="ltr" type="text" id="menu_link_name_en[]" name="menu_link_name_en[]" placeholder="مثال : Menu Link Name"></div><div class="fields fields3"><label class="title">کلاس آیکن :</label><input dir="ltr" type="text" id="menu_link_icon[]" name="menu_link_icon[]" placeholder="مثال : icon-Movie"></div><span class="close" onclick="$(this).parent().slideUp(function(){$(this).remove();
});
"><i class="icon-remove"></i></span></div>');
 $('div[id=hide]').slideDown(function(){ $(this).removeAttr('id');
 $(this).removeAttr('style');
 });
 }
</script>
</div><!-- content -->
</div><!-- i_sections web_section -->
<div class="i_sections jadvalpakhsh_section" id="jadvalpakhsh" style="display:none">
<div class="content">
<div class="fields">
<label class="title" for="active_weekly_table">نمایش و فعال سازی جدول پخش هفتگی :</label>
<label class="switch">
<input type="checkbox" value="on" id="active_weekly_table" name="active_weekly_table" 
<?php echo ds_option('active_weekly_table') == 'on' ? "checked":"";
 
?> onclick="validate()">
<div class="slider round"></div>
</label>
</div>
<div id="add_row">

<?php $week = ds_option('weekly_table');
 for($i = 0;
$i < count($week['week_day']);
$i++){ 
?>
<div class="items">
<div class="fields fields4">
<div class="title">در روز :</div>
<select id="week_day[]" name="week_day[]">
<option value="0" 
<?php if ( $week['week_day'][$i] == '0' ) echo 'selected="selected"';
 
?>>شنبه</option>
<option value="1" 
<?php if ( $week['week_day'][$i] == '1' ) echo 'selected="selected"';
 
?>>یکشنبه</option>
<option value="2" 
<?php if ( $week['week_day'][$i] == '2' ) echo 'selected="selected"';
 
?>>دوشنبه</option>
<option value="3" 
<?php if ( $week['week_day'][$i] == '3' ) echo 'selected="selected"';
 
?>>سشنبه</option>
<option value="4" 
<?php if ( $week['week_day'][$i] == '4' ) echo 'selected="selected"';
 
?>>چهارشنبه</option>
<option value="5" 
<?php if ( $week['week_day'][$i] == '5' ) echo 'selected="selected"';
 
?>>پنجشنبه</option>
<option value="6" 
<?php if ( $week['week_day'][$i] == '6' ) echo 'selected="selected"';
 
?>>جمعه</option>
</select>
</div>
<div class="fields fields4">
<div class="title">عنوان سریال :</div>
<input type="text" name="name_series[]" value="
<?php echo $week['name_series'][$i];
 
?>" placeholder="نام سریال">
</div>
<?php } 
?>
</div>
<button type="button" class="add_row_weekly" onclick="add_row_weekly();
">افزودن زمان پخش سریال جدید</button>
<script>
function add_row_weekly(){ var rand_num = Math.floor((Math.random() * 1000000000) + 1000);
 $("#add_row").append('<div class="items"><div class="fields fields4"> <div class="title">در روز :</div><select id="week_day[]" name="week_day[]"><option value="0" 
<?php if ( $week['week_day'][$i] == '0' ) echo 'selected="selected"';
 
?>>شنبه</option><option value="1" 
<?php if ( $week['week_day'][$i] == '1' ) echo 'selected="selected"';
 
?>>یکشنبه</option><option value="2" 
<?php if ( $week['week_day'][$i] == '2' ) echo 'selected="selected"';
 
?>>دوشنبه</option><option value="3" 
<?php if ( $week['week_day'][$i] == '3' ) echo 'selected="selected"';
 
?>>سشنبه</option><option value="4" 
<?php if ( $week['week_day'][$i] == '4' ) echo 'selected="selected"';
 
?>>چهارشنبه</option><option value="5" 
<?php if ( $week['week_day'][$i] == '5' ) echo 'selected="selected"';
 
?>>پنجشنبه</option><option value="6" 
<?php if ( $week['week_day'][$i] == '6' ) echo 'selected="selected"';
 
?>>جمعه</option></select></div><div class="fields fields4"><div class="title">عنوان سریال :</div><input type="text" name="name_series[]" placeholder="نام سریال"></div><div class="fields fields4"><label class="title">آدرس سریال :</label><input dir="ltr" type="text" id="url_series[]" name="url_series[]" placeholder="
<?php bloginfo('url');
 
?>"></div><div class="fields fields4"><label class="title">شبکه پخش کننده :</label><input dir="ltr" type="text" id="network_series[]" name="network_series[]" placeholder="مثال : HBO"></div><div class="fields fields4"><label class="title">قسمت :</label><input dir="ltr" type="text" id="part_series[]" name="part_series[]" placeholder="مثال : اول"></div><div class="fields fields4"><label class="title">فصل :</label><input dir="ltr" type="text" id="season_series[]" name="season_series[]" placeholder="مثال : دوم"></div><div class="fields fields4"><div class="des">لینک یک تصویر ۲۵۰px × ۴۵px قرار دهید</div><label class="title">لینک کاور :</label><input dir="ltr" type="text" id="cover_series[]" name="cover_series[]" placeholder="
<?php bloginfo('url');
 
?>/cover_series.png"></div><span class="close" onclick="$(this).parent().slideUp(function(){$(this).remove();
});
"><i class="icon-remove"></i></span></div>');
 $('div[id=hide]').slideDown(function(){ $(this).removeAttr('id');
 $(this).removeAttr('style');
 });
 }
</script>
</div>
</div>

标签: javascriptjquery

解决方案


这些错误告诉您,您的代码尝试使用的函数在尝试调用它们时不存在。让我向您展示一个说明性示例,说明您的问题是什么:

不正确

foo();
function foo() {}

foo 这是不正确的原因是它在创建之前尝试调用。

正确的

function foo() {}
foo();

这是正确的,因为foo它已经存在时被调用。

你的功能

在定义之前被调用。我建议您将脚本标签移动到头标签中以解决此问题。如果您需要更多帮助,那么您需要指出问题发生的确切行并显示您从浏览器页面源中获取的生成标记,因为我们没有您的项目并且您的 PHP 代码对我们不起作用,除非您提供有关您项目的 PHP 方面的额外信息。错误告诉您它在控制台中发生的位置,您需要找到错误的确切位置并将其指出给我们。

编辑

固定代码:

<div id="add_link_menu">
</div>
<div class="content">
    <button type="button" class="add_link_menu" onclick="add_link_menu();">Add link button</button>
    <script>
        function add_link_menu() { 
            var rand_num = Math.floor((Math.random() * 1000000000) + 1000);
            $("#add_link_menu").append(`
                <div class="item">
                    <div class="fields fields3">
                        <div class="title">عنوان لینک :</div>
                        <input type="text" name="menu_link_name[]" placeholder="باکس آفیس"></div>
                        <div class="fields fields3">
                            <label class="title">آدرس لینک :</label>
                            <input dir="ltr" type="text" id="menu_link_url[]" name="menu_link_url[]" placeholder="someurl">
                        </div>
                        <div class="fields fields3">
                            <label class="title">عنوان انگلیسی :</label>
                            <input dir="ltr" type="text" id="menu_link_name_en[]" name="menu_link_name_en[]" placeholder="مثال : Menu Link Name">
                        </div>
                        <div class="fields fields3">
                            <label class="title">کلاس آیکن :</label>
                            <input dir="ltr" type="text" id="menu_link_icon[]" name="menu_link_icon[]" placeholder="مثال : icon-Movie">
                        </div>
                        <span class="close" onclick="$(this).parent().slideUp(function(){$(this).remove();});">
                            <i class="icon-remove"></i>
                        </span>
                    </div>
                </div>`);
            $('div[id=hide]').slideDown(function(){ 
                $(this).removeAttr('id');
                $(this).removeAttr('style');
            });
        }
    </script>
</div>

小提琴:http: //jsfiddle.net/z7jhkxo8/


推荐阅读