2013-09-25 81 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