如何使用内联函数调用在wordpress中调用javascript函数?

时间:2013-09-25 04:08:20

标签: javascript php jquery wordpress

我一直在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函数?我希望你们明白这一点。谢谢。这是我的代码:

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 file:

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();  

}

1 个答案:

答案 0 :(得分:1)

确保在调用之前加载了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    } ?>