将表单字段传递给ajax,然后通过php发布

时间:2014-01-06 07:40:00

标签: php jquery ajax wordpress .post

我试图修改Wordpress插件。它使用前端表单,使用ajax / jquery处理,将提交内容发布到各种日志中。我需要添加一个额外的字段,将其值传递给.js文件并发布附加字段。

到目前为止,我已经通过挂钩到现有函数添加了附加字段。该字段看起来像这样,在前端可见。

$description_input = '<input type="text" id="custom_message" 
name="custom_message" value="" class="transfer-description" 
placeholder="Description" />';
echo $description_input;

添加此额外字段的表单包含现有字段:to,sender,recipient,amount,token和submit。

我不明白的是如何将这个额外字段传递给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发布该信息?我不确定我是否正确解释了这一点,但感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

首先,您需要获取必填字段的值,就像获得info

的值一样

并将其添加到tinfo之后的数据args中:

tinfo     : info,
tcustom_message  : custom_message

您可以使用$_POST['tcustom_message ']

访问此数据

答案 1 :(得分:0)

我将只复制您上面的代码,并且只标记我认为对您有用的更改:

jQuery(function($){

var info = $('#custom_message').val(); //add this line to get your message

// 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,

...(其余的.js在这里)

让我知道这是否有效。