我的网站上有一个表单,它使用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提交?
答案 0 :(得分:1)
而不是
ob_start();
var_dump($check_list);
$result = ob_get_clean();
尝试
$result = implode(',', $check_list);