2013-09-25 59 views
0

我一直在wordpress管理员区域设置我的插件。我有一个存储用户信息的表单。在我的文件输入类型中,我有JavaScript函数调用我的自定义JavaScript,我链接到它。这是行:<li>Category Image:<input type="file" name="category[image]" id="cat_image" onchange="javascript:ImageUpload()" /></li>。然而,它返回一个错误,说未定义的函数ImageUpload(),肯定该功能无法找到。我在想什么可能是一个wordpress函数来调用这个,或者我需要先设置?但我已经链接了我的自定义js,它正在工作。问题是如何调用管理区域中的wordpress php文件中的某些js函数?我希望你们明白这一点。谢谢。这里是我的代码:如何使用内联函数调用在wordpress中调用javascript函数?

plugin_file.php

<form method="post" name="new_category" id="product_category" enctype="multipart/form-data"> 
<ul class="add_prod"> 
<li>Category Title:<input type="text" name="category[title]" id="cat_title" value="" placeholder="Title" /> </li> 
<li>Category Description:<textarea rows="4" cols="40" name="category[description]"></textarea></li> 
<li>Category Image:<input type="file" name="category[image]" id="cat_image" onchange="javascript:ImageUpload()" /></li> 
<li><input type="submit" name="submit" id="submit" value="Submit details" class="btn-submit"/></li> 
</ul> 
</form> 

js文件:

function ImageUpload() { 
    $("#return").show(); 
    $("#return").html(''); 
    $("#return").html('<img src="images/load2.gif" alt="Uploading...."/> wait, uploading...'); 
    $("#imageform").ajaxForm({ 
     target: '#return', 
     success: function() { 
      $("#return").fadeOut(10000); 
     } 
    }).submit(); 

}

回答

0

确保被调用之前您的js文件被加载。

你可以做这样的事情

<?php 
    add_action('wp_head','js_call'); // make sure js is loaded in head 

    function js_call() { ?> 
    <script> 

    function ImageUpload() { 
     jQuery("#return").show(); 
     jQuery("#return").html(''); 
     jQuery("#return").html('<img src="images/load2.gif" alt="Uploading...."/> wait, uploading...'); 
     jQuery("#imageform").ajaxForm({ 
      target: '#return', 
      success: function() { 
       jQuery("#return").fadeOut(10000); 
      } 
     }).submit(); 


    </script> 

<?php } ?> 
+0

但我已经与ADD_ACTION( 'admin_enqueue_scripts',阵列( 'jun_product', 'theme_name_scripts'))加载它;与wp_head有什么不同? – Eli

+0

他们是一个单独的文件。 js被分离到我的插件文件中。所以我只是从我的插件文件调用js函数到我的自定义js文件 – Eli

+0

与admin_enqueue_scripts它将加载您的后端页面的js代码,尝试这个'add_action('wp_enqueue_script',array('jun_product','theme_name_scripts') )'http://codex.wordpress.org/Function_Reference/wp_enqueue_script – codepixlabs