ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

WordPress-使用AJAX提交表单

2019-10-31 06:29:38  阅读:209  来源: 互联网

标签:ajax wordpress-plugin wordpress php jquery


我创建了一个Wordpress插件,以允许我的客户创建具有rsvp功能并为事件付费的事件.我对某些代码需要放置在何处以及如何向插件文件夹函数文件中的函数提交表单感到困惑.

目前,它返回一个空白警报.

我在单个活动的页面上显示此表单:

<div id="rsvpContent">  
  <form id="Attendevent" action="">
   <input id="attend" name="attend" type="checkbox" value="yes" /><label for="attent">Yes, I plan to attend.</label>
 </form>

然后,将其放入常规的header.php文件中:

 $("#attend").click(function(){
    var form = $("#Attendevent").serialize();

    $.ajax({
      type:'POST',
      data:{"action":"Attending","data": form },
      url: "<?php bloginfo('url'); ?>/wp-admin/admin-ajax.php",
      beforeSend: function(){
        alert(form);
      },
      success: function(data) {
            alert(data);
      }

    }); 

 });

然后,我将此函数放置在plugin文件夹的main函数页面中:

function eventAttent() {
$wpdb->show_errors();
            if($_POST['attend'] == 'yes') {
                $wpdb->insert('wp_event_attendants',
                array( 'event_id' => get_the_ID(),'user_id' => $current_user->ID));
 echo $wpdb->print_error();
                }
            }


 add_action('wp_ajax_Attending', 'eventAttend');
 add_action('wp_ajax_nopriv_Attending', 'eventAttend');

用户单击“参加”复选框时如何调用此函数?

解决方法:

尝试使用此代码.这是我测试过的代码.我可以正常工作..但是它不会处理FILE上传.

的HTML

<form id="form_name" name="form_name" >
<span id='errfrmMsg' style='margin:0 auto;'></span>
  //form attributes just as input boxe.
  <input type="hidden" name="action" value="anyName" />
  <input id="submit_button" onclick="submit_form();" type="button" value="Send" />
</form>

j查询

function submit_form()
{
  jQuery.post(the_ajax_anyName.ajaxurl_anyName,
   jQuery("#form_name").serialize(),
     function(response_from_the_action_function){
                jQuery("#errfrmMsg").html(response_from_the_action_function).css({"display":"block"});
      }
   );
}

functions.php中的php代码

wp_register_script("ajax-anyName", get_bloginfo('template_directory')."/js/custom_js.js", array( "jquery"));
wp_enqueue_script('ajax-anyName');
wp_localize_script("ajax-anyName","the_ajax_anyName", array("ajaxurl_anyName" => admin_url("admin-ajax.php")));
// add actions
add_action( "wp_ajax_anyName", "ajax_action_anyName" );
add_action( "wp_ajax_nopriv_anyName", "ajax_action_anyName" );

function ajax_action_anyName(){ 
  //Form processing code in PHP


}

标签:ajax,wordpress-plugin,wordpress,php,jquery
来源: https://codeday.me/bug/20191031/1973676.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有