【发布时间】:2014-01-06 07:39:59
【问题描述】:
我试图修改 Wordpress 插件。它使用前端表单,使用 ajax/jquery 处理将提交内容发布到各种日志中。我需要添加一个附加字段,将其值传递给 .js 文件并发布附加字段。
到目前为止,我已经通过挂钩到现有函数添加了附加字段。该字段看起来像这样,并且在前端可见。
$description_input = '<input type="text" id="custom_message"
name="custom_message" value="" class="transfer-description"
placeholder="Description" />';
echo $description_input;
添加此额外字段的表单具有现有字段:收件人、发件人、收件人、金额、令牌和提交。
我不明白的是如何将这个额外的字段传递给 ajax 函数。
处理表单的 .js 文件的第一部分如下所示:
开发人员一直在帮助我,否则我永远不会做到这一点......他添加了 'info' 和 tinfo : info ,我认为它们应该处理额外的字段。
jQuery(function($){
// Transfer function
var transfer_creds = function( to, creds, info, label ) {
$.ajax({
type : "POST",
data : {
action : 'myc-transfer-creds',
sender : myC.user_id,
recipient : to,
amount : creds,
token : myCRED.token,
tinfo : info
},
dataType : "JSON",
url : myC.ajaxurl,
... (the rest of the .js here)
然后将额外的字段插入到开发人员正在使用的日志条目中:
$transfer_message = '';
if ( isset( $_POST['tinfo'] ) )
$transfer_message = sanitize_text_field( $_POST['tinfo'] );
这不是完整的代码,但似乎是相关部分。所以,我的问题再次是如何向 ajax 发送一个额外的表单字段,然后通过 php 发布该信息?我不确定我是否正确解释了这一点,但感谢您的帮助。
【问题讨论】:
-
不确定您所说的“附加表单域”是什么意思。您想通过 AJAX 向 PHP 发送另一个 $_POST 数组元素吗?如果是这样,只需将其放入 $.ajax 对象的参数的数据对象中即可。
-
你有没有得到一些
error或在php file中尝试print_r($_POST);,然后签入console。 -
表单已经存在,我需要挂钩并插入一个额外的字段,然后处理该字段。 @RohanKumar 没有错误,不知道该放在哪里: print_r($_POST); .在我的 php 文件中,它返回:array ().
-
我把整个代码做了一个粘贴箱:.php:pastebin.com/jvvPQgWS.js:pastebin.com/wVuGNjXr
标签: php jquery ajax wordpress .post