[英]send JSON or array to submit POST (jQuery -> PHP)
早上好。 我被這件事卡住了:我正在做一個表單(該表單通過“提交”按鈕將信息發送到其他頁面,發布),動態地用戶可以通過按鈕添加一些其他表單組。 好吧,那很容易。 但是用戶正在創建一個名為“ DPT”(工作資料)的東西,該東西在我的數據庫中有一個表,同時也有一個“功能”(要做的事)表。 DPT可以具有一個或多個功能。
Function
---------
id int(4) AI
title VARCHAR(64) NOT NULL
description VARCHAR(256)
dpt int(4) --> FK
| 1..*
|
V 1
DPT
-----
id
name
(...)
因此,我有一個<div>
,它會用jQuery填充以在其中創建面板和表單。 我為什么要這么做? 因為如果DPT可以具有一個或多個功能,那么我必須存儲要創建的當前功能的ID。 然后,我有一個用於添加更多功能的按鈕,但是我必須存儲該功能的ID以及其標題和說明。
因此,使用jQuery,我可以在“添加功能”按鈕之前動態添加一個新表單...我的想法是創建一個JSON並通過PHP發送它,但不知道我必須在哪里發送信息或返回到哪里。 。
我在這里將執行該操作的重要代碼告訴您:
<div id="initialFunction" class="panel panel-default panel-body">
<?php
$nextID = mysqli_fetch_assoc(mysqli_query($con,"SELECT MAX(id_funcion) as siguiente_id from funcion"))['siguiente_id'];
?>
<button class="button btn-danger" type="button">
<span class="fa fa-minus">
</span>
</button>
</div>
<script>
var nextId = <?php echo $nextID?>
var arrayToPass = {}
$(function(){
$("#initialFunction").html('<div class="form-group">'+
'<label>Función a desarrollar <sup style="color:red">*</sup></label>'+
'<input class="form-control" name="funcion" type="text" placeholder="Función a desarrollar" maxlength="200" required>'+
'</div>'+
'<div class="form-group">'+
'<label>Tarea principal en esta función <sup style="color:red">*</sup></label>'+
'<textarea class="form-control" name="tarea" placeholder="Enumere las funciones de su puesto de trabajo comenzando por las más representativas, así como las tareas necesarias para el cumplimiento de las mismas" rows="3" required></textarea>'+
'</div>');
});
$("#bttn-add").click(function(){
$("#bttn-add-function").before(
'<div class="form-group">'+
'<label>Función a desarrollar <sup style="color:red">*</sup></label>'+
'<input class="form-control" name="funcion" type="text" placeholder="Función a desarrollar" maxlength="200" required>'+
'</div>'+
'<div class="form-group">'+
'<label>Tarea principal en esta función <sup style="color:red">*</sup></label>'+
'<textarea class="form-control" name="tarea" placeholder="Enumere las funciones de su puesto de trabajo comenzando por las más representativas, así como las tareas necesarias para el cumplimiento de las mismas" rows="3" required></textarea>'+
'</div>');
nextId++;
});
單擊提交按鈕並將其通過POST傳遞時,是否可以返回array / json? 就像是:
$("#guardar_dpt").click(function(){
return json_object
} )
?
有可能的。 很簡單。 這是示例:
HTML:
<script src="https://unpkg.com/jquery"></script>
<form id="myForm" method="post">
<input type="text" name="first"><br>
<input type="text" name="last"><br>
<input type="submit" value="Send">
</form>
<p id="output"></p>
JS:
function parseAnswer (data) {
var content
content += 'Name: ' + data.first + '<br>'
content += 'Surname: ' + data.last
$('#output').text(Name)
}
$('#myForm').on( "submit", function (evt) {
var data = $(this).serialize()
evt.preventDefault()
$.post('any.php', data, parseAnswer)
})
PHP:
<?php
header("Content-type: application/json");
$first = $_POST['first'];
$last = $_POST['last'];
$arr = ['first' => $first, 'last' => $last];
echo json_encode($arr);
?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.