我有一个html表单,我可以使用JavaScript附加,我使用PHP将数据保存到JSON文件。但是,当我没有表单(尚未附加)时单击提交按钮时,它仍然将数据保存到JSON文件:
[{"language":null,"time_in_words":null,"time_hours":null,"time_mins":null,"audio":null}]
有没有办法检查表单(或表格周围的div)是否确实存在? (使用PHP)
编辑: 这是我提交表单并将其发送到JSON文件的PHP
if(isset($_POST["submit"])){
$_POST = array_filter($_POST);
if(file_exists('data.json')){
$current_data = file_get_contents('data.json');
$array_data = json_decode($current_data, true);
$extra = array(
'language' => $_POST["language"],
'time_in_words' => $_POST['time_in_words'],
'time_hours' => $_POST["time_hours"],
'time_mins' => $_POST["time_mins"],
'audio' => $_POST["audio"],
);
$array_data[] = $extra;
$final_data = json_encode($array_data);
if(file_put_contents('data.json', $final_data)) {
$message = "Successfully saved";
echo "<script type='text/javascript'>alert('$message');</script>";
}
}
else
{
$error = "data.json does not exist";
echo "<script type='text/javascript'>alert('$error');</script>";
}
}
答案 0 :(得分:0)
感谢ParantapParashar帮助我解决这个问题。 =)
if(isset($_POST["language"])){
// *submit the form to the json file*
}
else {
// *tell the user to add an input field*
}
检查<input type="text" name="language" required>
是否有任何值。如果它不存在,则没有价值,因此结果将是错误的。
如果它确实存在,它仍然没有值,但由于我给输入元素“必需”属性,它不会让用户在用户给它一个值之前提交(通过填写输入字段)
因此,当用户填写输入字段时,结果将为真。