簡體   English   中英

在表單提交時將Javascript變量傳遞給PHP

[英]passing Javascript variable to PHP on form submission

這個問題來自我之前使用php計算html表中的行的問題。 由於我沒有工作解決方案,我想嘗試一種新方法,但不知道如何實現它。 我為使用Javascript添加的每個動態行分配唯一ID。 因此,Javascript中的count變量存儲HTML表中存在的行數。 當我提交表單時,它由savedata.php處理。 每次提交表單時,是否可以自動將Javascript變量計數傳遞給savedata.php

以下是我的Javascript文件的簡短版本,用於為動態創建的行的元素創建唯一ID。

var count=2;

function addRow()
{


var table=document.getElementById("studenttable");
var row=table.insertRow(-1);
var cell15=row.insertCell(14);

var ipt8 = document.createElement('input');
    ipt8.setAttribute("type", "hidden");
    ipt8.id = "text" + count; 
    ipt8.name = "htmlrow[]";      
    ipt8.value = count;        
    cell15.appendChild(ipt8);
count++;
}

每次添加新行時,都會計算增量,因此將其傳遞給PHP文件將允許獲取HTML表中的行數。 我想在每次提交表單時自動執行此操作。

在表單中添加此內容..

<input name="NumRows" id="NumRows" type="hidden" value="0"/>

然后修改你的JS以更新值...

document.getElementById("NumRows").value = count;

然后,在你的PHP中你可以做...

$NumRows = $_REQUEST['NumRows'];

請注意,如果由於某種原因NumRows沒有與表單一起傳遞(這里不太可能,但可能在其他地方),那么你應該在PHP中執行此操作...

$NumRows = isset($_REQUEST['NumRows'])?$_REQUEST['NumRows']:0;

這意味着“如果設置了$_REQUEST['NumRows'] ,請使用它,否則將$NumRows設置為0”

我建議永遠不要使用$ _REQUEST,使用$ _POST作為post方法表單。 如果您使用$ _REQUEST,則無法保證數據來自帖子數據,這會導致腳本出現安全漏洞。 所以更好用

$NumRows = $_POST['NumRows'];

訪問PHP中的計數值

去尋找Ajax。 每次單擊提交按鈕時,進行ajax調用並將所需數據發送到任何php頁面。

這里通過這些鏈接他們一定會幫助你

http://www.w3schools.com/jquery/ajax_post.asp

http://api.jquery.com/jQuery.post/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM