使用ajax重新格式化从表单发布的php数组

时间:2015-08-05 15:35:01

标签: javascript php jquery arrays ajax

我的网站上有一个表单,它使用php将表单的捕获值发送到电子邮件地址。在表单上有一个复选框输入,用户可以在其中选择多个复选框,并将选定的值推送到数组中。当我提交表单时,复选框输入会在电子邮件中返回整个数组。据我所知,这是php可以重新格式化。我正在寻找一种方法来使用ajax重新格式化php数组,以使其更易于阅读。

这是数组在提交的电子邮件中的样子:

array ( 0 => 'value1', 1 => 'value2', 2 => 'value3' )

我试图让数组以不同的格式返回值,例如:

Array Value:  value1, value2, value3

这是我的表格:

  <form id="form" method="post" action="/submit" enctype="multipart/form-data">
    <div class="field">
     <label for="categoryType">Category type:</label>
     <input  type="checkbox" name="check_list[]" value="value1">
     <label>value1</label>
     <input  type="checkbox" name="check_list[]" value="value2">
     <label>value2</label>
     <input  type="checkbox" name="check_list[]" value="value3">
     <label>value3</label>
   </div>
 </form>

这是submit.html:

<?php

  $check_list  = $this->EE->input->post(['check_list']);

  $msg .= '<p><strong>Category</strong> '.$value.'</p>';

    ob_start();
    var_dump($check_list);
    $result = ob_get_clean();


   $this->EE->email->wordwrap = true;
   $this->EE->email->mailtype = 'html';
   $this->EE->email->to('email@emailcom');
   $this->EE->email->subject('form');
   $this->EE->email->message(entities_to_ascii($msg . " - " . $result));
   $this->EE->email->Send();

    if($http_code > 200) {
     print "<p><strong>Error</strong> </p>";
   } else {
     header( 'Location: redirecturl' ) ;
   }
?>

有没有办法通过使用ajax提交表单来仅显示数组的字符串值?或者有没有不同的方式重新格式化这个PHP数组?我是否需要使用php提交此表单,或者我是否可以抓取此方法并仅使用ajax提交?

1 个答案:

答案 0 :(得分:1)

而不是

ob_start();
var_dump($check_list);
$result = ob_get_clean();

尝试

$result = implode(',', $check_list);