PHP動態添加INPUT並獲取值

2021-03-02 PHP大神

來源:blog.csdn.net/HZX19941018/article/details/109393790

  在完成一個需求的時候,由於不確定選項有多少個,所以就想到了動態添加input並最終合成json存到資料庫,之前自己也沒做過相關的東西,所以就想利用這次試試能不能做出,最終還是實現了需求,所以也分享代碼給大家,供大家參考。

一、HTML端

<hr><div class="form-group" style="text-align: center;">    <button type="button" class="btn btn-success btn-sm" id="addBtn">新增</button>    <button type="button" class="btn btn-danger btn-sm" id="removeBtn">移除</button></div><div class="optionAnswerParent" id="optionAnswerParent">    <div class="optionAnswer">        <hr/>        <div class="form-group">            <label for="optionListData" class="col-sm-2 control-label">選項</label>            <div class="col-sm-8">                <div class="input-group">                    <span class="input-group-addon"><i class="fa fa-pencil"></i></span>                    <input type="text" class="form-control optionListData" placeholder="輸入選項">                </div>            </div>        </div>        <div class="form-group">            <label for="numberListData" class="col-sm-2 control-label">分數</label>            <div class="col-sm-8">                <div class="input-group">                    <span class="input-group-addon"><i class="fa fa-pencil"></i></span>                    <input type="number" class="form-control numberListData" placeholder="輸入分數"                           value="0">                </div>            </div>        </div>    </div></div>

  二、jquery

<script type="application/javascript">        $("#addBtn").click(function () {        $(".optionAnswerParent").append(" <div class='optionAnswer'><hr/> <div class='form-group'> <label for='optionListData' class='col-sm-2 control-label'>選項"+"<" + "/label> <div class='col-sm-8'> <div class='input-group'> <span class='input-group-addon'><i class='fa fa-pencil'>"+"<" + "/i>"+"<" + "/span> <input type='text' class='form-control optionListData' placeholder='輸入選項'> "+"<" + "/div>"+"<" + "/div>"+"<" + "/div> <div class='form-group'> <label for='numberListData' class='col-sm-2 control-label'>分數"+"<" + "/label> <div class='col-sm-8'> <div class='input-group'> <span class='input-group-addon'><i class='fa fa-pencil'>"+"<" + "/i>"+"<" + "/span> <input type='number' class='form-control numberListData' placeholder='輸入分數' value='0'>"+"<" + "/div>"+"<" + "/div>"+"<" + "/div>"+"<" + "/div>");    });        $('#removeBtn').click(function () {        $('div[class=optionAnswer]:last').remove();    });         function saveData() {                optionList = [];        numberList = [];                $(".optionListData").each(function () {            optionList.push($(this).val());        });                $(".numberListData").each(function () {            numberList.push($(this).val());        });                if (optionList.length <= 0) {            layer.msg('請填寫選項!');            return false;        }                optionList = JSON.stringify(optionList);        numberList = JSON.stringify(numberList);                var subjectIdData = $('#subjectIdData').val();        var titleData = $('#titleData').val();        var sortData = $('#sortData').val();                if (subjectIdData === '') {            layer.msg("請選擇題目");            return false;        }        if (titleData === '') {            layer.msg("請輸入標題");            return false;        }                var url = "API接口";                $.ajax({            method: 'post',            url: url,            data: {                optionList: optionList,                numberList: numberList,                subjectIdData: subjectIdData,                titleData: titleData,                sortData: sortData            },            success: function (res) {                if (res['code'] === 1) {                    layer.msg('添加成功!');                    window.location.reload();                } else {                    layer.msg(res["msg"]);                }            }        });            }</script>

三、PHP接收端

$optionList = $_POST[""];                   $numberList = $_POST["numberList"];         $optionList = json_decode($optionList, true);$numberList = json_decode($numberList, true);

這樣就可以動態添加、刪除input並獲取值

PS:如果覺得我的分享不錯,歡迎大家隨手點讚,在看,你的鼓勵是我最大的動力。

相關焦點

  • PHP一些常見的漏洞梳理
    為了使代碼更靈活,將被包含的文件設置為變量用來進行動態調用。這就導致客戶端可以調用一個惡意文件,造成文件包含漏洞。文件包含漏洞在php中居多。具體代碼如下,此時該代碼存在文件包含漏洞,由於在漏洞利用被包含的文件會被添加上.php後綴,無法直接利用。<?php$test=$_GET['id']; include($test).'.php';?
  • PHP教程:用PHP程序對網頁表單的處理
    PHP _GET 和 _POST變量是用來獲取表單中的信息的,比如用戶輸入的信息。" method="post">Name: <input type="text" name="name" />Age: <input type="text" name="age" /><input type="submit" /></form></body></html>
  • PHP獲取HTTP POST中不同格式的數據
    中,使用$_POST['name']可以直接獲取, 沒有什麼特別的Content-Type: multipart/form-data; 這種格式的數據,在php中使用$_POST['name']可以獲取字符數據,使用$_FILES['file']可以獲取.
  • php學習之php的預定義變量的使用
    $GLOBALS說明:globals是php內置的可以自動獲取當前頁面中的所有變量的內容,包括局部變量、全局變量、靜態變量2.$_SERVER說明:server會自動獲取伺服器和客戶端的信息$_SERVER是一個包含了諸多如頭信息(header)、路徑(path)、以及腳本位置(scriptlocations)等信息的數組。
  • PHP代碼審計四
    如果該參數被設置為 TRUE,則函數在數組中搜索數據類型和值都一致的元素。用法php:// 協議條件allow_url_fopen:off/onallow_url_include :off/on僅php://input php://stdin php://memory php://temp 需要on作用
  • php學習之php的流程控制if和switch的使用
    --用if替代判斷是否顯示input輸入框--><?php $a=2;if($a==1):?><inputtype="text"><?php endif;?><!--用if else替代判斷是否顯示input輸入框--><?php $a=3;if($a==1):?><inputtype="text"><?
  • 巧用 PHP 數組函數
    php$input = ['you are' => 666, 'i am' => 233, 'he is' => 233, 'she is' => 666];$result = array_flip(array_flip($input));var_dump($result);嗯哼?!結果和 array_unique 的不一樣!
  • PHP零基礎入門
    獲取日期:getdate函數,獲取日期定義數組:array()[]range()compact()define()<!array_multisort對多個數組或多維數組進行排序array_pad用值將數組填補到指定長度array_pop將數組最後一個單元彈出array_product計算數組中所有值的乘積array_push將一個多多個單元壓入數組的末尾array_rand從數組中隨機取出一個或多個單元array_reduce用回調函數迭代地將數組簡化為單一的值
  • 如何利用PHP-FPM實現open_basedir繞過
    CGI的出現讓WEB從靜態變為為動態,隨著Web的越來越普及,很多的網站的都需要有動態的頁面,以便與瀏覽者互交。CGI方式的缺點也越來越突出。://input需要開啟遠程文件包含(allow_url_include)。
  • PHP基礎
    mt_rand() //獲取隨機數//查詢print_r()//添加值$arr1['six']='ffffff';//print_r($arr1);//編輯值$arr1['five']='zzzzzzz';//print_r($arr1);//數組變量後面中括號中鍵值沒有的就添加,有的就編輯//刪除值unsetunset
  • 2020 PHP面試題(附帶答案)
    什麼時候傳值什麼時候傳引用?按值傳遞:函數範圍內對值的任何改變在函數外部都會被忽略按引用傳遞:函數範圍內對值的任何改變在函數外部也能反映出這些修改優缺點:按值傳遞時,php必須複製值。特別是對於大型的字符串和對象來說,這將會是一個代價很大的操作。按引用傳遞則不需要複製值,對於性能提高很有好處。
  • (進階篇)使用PHP導入和導出CSV文件
    <form id="addform" action="do.php?;     <input type="button" class="btn" value="導出CSV" onclick="window.location.href='do.php?
  • php編程快速入門(建議收藏)
    >php輸出語句PHP echo 和 print 語句echo 和 print 區別:echo - 可以輸出一個或多個字符串print - 只允許輸出一個字符串,返回值總為 1提示:echo 輸出的速度比 print 快, echo 沒有返回值,print有返回值1。<?phpecho "<h2>PHP 很有趣!
  • 【每天一題】PHP編程入門的基本語法知識點總結
    該語言的主要目標是允許 web 開發人員快速編寫動態生成的 web   頁面,但 PHP 的用途遠不只於此。    簡單來說,就是php是一種腳本語言,可以做很多事情。" method="post">  <p>姓名: <input type="text" name="name" /></p>  <p>年齡: <input type="text" name="age" /></p>  <p><input type="submit" /><
  • PHP基礎入門
    -- 這一行method 對應的值改為post ---><form action="req.php" method="post"><input type="text" name="username"/><input type="password" name="pwd"/><input type="submit" name
  • php session 會話(專題)
    ,網絡中的用戶資料也會保存在二個地方:瀏覽器(客戶端)和伺服器中延伸知識:php中session和cookie的區別連結:https:PHP Session 要點變量過濾器: filter_input(INPUT_SESSION, key)設置使用專用函數: setcookie(名稱, 值, 過期時間)生效需要分二步完成: 先下達指令到瀏覽器
  • php項目實戰:代碼講解之發布主題消息
    選擇php原因本次的代碼實例之準備在一個app中增加一個接口,該接口的功能是在app中發布一條主題,就和我們平時發布朋友圈或者寫一篇文章發表差不多。= \Yii::$app->request->post('form');//定義$input變量,該變量時通過post方式獲取form的值if (isset($input["id"])) {$tid = $input["id"];$topic = Topic::findOne
  • (理論篇)溫故而知新_PHP入門基礎教程
    當 query 查詢字符串是 UPDATE、INSERT 及 DELETE 時,返回的可能是 true 或者 false;查詢的字符串是 SELECT 則返回新的 ID 值,當返回 false 時,並不是執行成功但無返回值,而是查詢的字符串有錯誤。2、mysql_fetch_object 返回類資料。
  • PHP-Session利用總結
    Session機制:session內容一般以文件的形式存儲於伺服器中,而本地瀏覽器會存儲一個與伺服器中session文件對應的Cookie值,Cookie存儲的是鍵值為「PHPSESSID」的Seeion_id值,用戶在訪問web應用時,每次跳轉發生http請求時,會自動把這個存儲session_id的Cookie值發送過去,因此web
  • 【PHP專題8】表單-用戶輸入名字,發送服務端接收數據
    >14-18行申明一個表單14行:action點擊跳轉data.php(現在這個php還沒有,一會實現),用post協議跳轉15行name是顯示文字(可以用中文)<input標籤輸入 name是參數雙引號name是變量「name」=$name17行一個提交按鈕,觸發action步驟2(模擬服務端接收,用另外一個網頁得到數據