一进来就看见两个表单有关问题,其实小弟我也是冲着表单有关问题来的呀
一进来就看见两个表单问题,其实我也是冲着表单问题来的呀
有如下数据表
id----name----show
1-----AA------1
2-----BB------0
4-----DD------0
33----FF------1
读取后输出的操作表单如下:
AA
BB
DD
FF
程序目的:提交后,根据勾选状态重置表里面的所有字段的show值,比如AA没勾选,提交后将它设置为0,而DD被勾选了,提交后将它设置为1
但这里有一个问题,post过来的type数组只带有勾选元素,如本身AA的show是1,输出控制器在输出时将它默认设置为 checked="checked",即勾选,这时候我想将AA的show设置为0,所以关闭勾选,并且将本身没勾选的DD进行勾选(想把DD的show设置为1),提交表单,传来的type数组如下:
Array
(
[0] => 4
[1] => 33
)
即数据只传来了勾选的两个元素,第0个元素其实就是DD,第1个元素就是FF,前面的AA,BB没勾选就没传来,得到这个数组后,
就要根据数组值去找对应id的记录设置为1,但是没有传来的就设置为0,怎么弄?
===============
另一个方案,表单的name值用id命名,而不是数组,即如下表单(这是我的笨方法,加了个hidden记录最大的id值)
AA
BB
DD
FF
提交后,勾选的就提交上来了,我用CI框架的,这样来弄..
$maxid = 从数据库得到最大id;
$types = array();
for($i = 1; $i $types[$i] = ($this->input->post('type'.$i)==false)?0:1;
//没有勾选的话,比如post('type2')会返回false,因为type2这个表单表量压根没有传过来..而传过来的都是勾选的,所以非false的就返回1
}
问题这样for循环就添加了很多个不存在的间断id,当然,解决办法就是从数组中获取存在的id组foreach一个个id取值.
请问还有没有其它办法?最终我其实就是想要一个这样的数组:描述了表单里所有选项的勾选状态.现在我只能获取到已勾选的,没勾选的居然不传变量过来我晕死了.
------解决方案--------------------
只有选中的checkbox才会提交 第一种是合理的
------解决方案--------------------
可以将所有checkbox的name值连成一个字符串,如:"type1,type2……",将其传到后台,php用explode将其分割,将获得的数组和接收过来的post按键名取差集,得到的就是未勾选的
------解决方案--------------------
其实两种办法是差不多的:
第一种:php里准备一个数组,array(1, 2, 4, 33); 遍历这个array, 检查array[i]是否在$_POST['type']内,可以使用isset或者in_array。
第二种:和第一种是一样的.. 只不过用了一下字符串拼接.. array(1, 2, 4, 33), 遍历这个array,检查array[i]是否存在$_POST['type' . $array[i]]

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Viele Benutzer werden sich bei der Auswahl von Smartwatches für die Marke Huawei entscheiden. Viele Benutzer sind neugierig auf den Unterschied zwischen Huawei GT3pro und GT4. Was sind die Unterschiede zwischen Huawei GT3pro und GT4? 1. Aussehen GT4: 46 mm und 41 mm, das Material ist Glasspiegel + Edelstahlgehäuse + hochauflösende Faserrückschale. GT3pro: 46,6 mm und 42,9 mm, das Material ist Saphirglas + Titangehäuse/Keramikgehäuse + Keramikrückschale 2. Gesundes GT4: Mit dem neuesten Huawei Truseen5.5+-Algorithmus werden die Ergebnisse genauer. GT3pro: EKG-Elektrokardiogramm sowie Blutgefäß und Sicherheit hinzugefügt

Warum das Snipping-Tool unter Windows 11 nicht funktioniert Das Verständnis der Grundursache des Problems kann dabei helfen, die richtige Lösung zu finden. Hier sind die häufigsten Gründe, warum das Snipping Tool möglicherweise nicht ordnungsgemäß funktioniert: Focus Assistant ist aktiviert: Dies verhindert, dass das Snipping Tool geöffnet wird. Beschädigte Anwendung: Wenn das Snipping-Tool beim Start abstürzt, ist es möglicherweise beschädigt. Veraltete Grafiktreiber: Inkompatible Treiber können das Snipping-Tool beeinträchtigen. Störungen durch andere Anwendungen: Andere laufende Anwendungen können mit dem Snipping Tool in Konflikt geraten. Das Zertifikat ist abgelaufen: Ein Fehler während des Upgrade-Vorgangs kann zu diesem Problem führen. Diese einfache Lösung ist für die meisten Benutzer geeignet und erfordert keine besonderen technischen Kenntnisse. 1. Aktualisieren Sie Windows- und Microsoft Store-Apps

Beim Mounten einer mobilen Festplatte durch Ubuntu tritt ein Fehler auf: mount: unlimitedfilesystemtype'exfat'. Die Verarbeitungsmethode lautet wie folgt: Ubuntu13.10 oder exfat-fuse installieren: sudoapt-getinstallexfat-fuseUbuntu13.04 oder niedriger sudoapt-add-repositoryppa:relan /exfatsudoapt-getupdatesudoapt-getinstallfuse- exfatCentOS Linux Fehler beim Mounten des USB-Datenträgers im Exfat-Format zum Laden von extfa in CentOS

Die Verwendung des Type-Schlüsselworts in Go umfasst das Definieren neuer Typaliase oder das Erstellen neuer Strukturtypen. Detaillierte Einführung: 1. Verwenden Sie das Schlüsselwort „type“, um einen neuen Typ zu erstellen, sondern nur einen neuen Namen für den vorhandenen Typ bereitzustellen Die Lesbarkeit des Codes macht den Code klarer. 2. Verwenden Sie das Schlüsselwort „type“, um einen neuen Strukturtyp zu erstellen, der zum Definieren benutzerdefinierter Typen mit mehreren Feldern verwendet werden kann.

Teil 1: Erste Schritte zur Fehlerbehebung Überprüfen des Apple-Systemstatus: Bevor wir uns mit komplexen Lösungen befassen, beginnen wir mit den Grundlagen. Das Problem liegt möglicherweise nicht an Ihrem Gerät; die Server von Apple sind möglicherweise ausgefallen. Besuchen Sie die Systemstatusseite von Apple, um zu sehen, ob der AppStore ordnungsgemäß funktioniert. Wenn es ein Problem gibt, können Sie nur warten, bis Apple es behebt. Überprüfen Sie Ihre Internetverbindung: Stellen Sie sicher, dass Sie über eine stabile Internetverbindung verfügen, da das Problem „Verbindung zum AppStore nicht möglich“ manchmal auf eine schlechte Verbindung zurückzuführen ist. Versuchen Sie, zwischen WLAN und mobilen Daten zu wechseln oder die Netzwerkeinstellungen zurückzusetzen (Allgemein > Zurücksetzen > Netzwerkeinstellungen zurücksetzen > Einstellungen). Aktualisieren Sie Ihre iOS-Version:

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

Die Unterschiede sind: 1. div ist ein Element auf Blockebene und span ist ein Inline-Element. 2. div belegt automatisch eine Zeile, während span nicht automatisch umgebrochen wird. 3. div wird zum Umschließen größerer Strukturen und Layouts verwendet span wird zum Umschließen von Text oder anderen Inline-Elementen verwendet. 4. div kann andere Elemente auf Blockebene und Inline-Elemente enthalten, und span kann andere Inline-Elemente enthalten.

In dieser Anleitung erfahren wir mehr über den Befehl „type“ unter Linux. Voraussetzungen: Um die in diesem Handbuch gezeigten Schritte ausführen zu können, benötigen Sie die folgenden Komponenten: Ein ordnungsgemäß konfiguriertes Linux-System. Erfahren Sie, wie Sie eine LinuxVM zu Test- und Lernzwecken erstellen. Grundlegendes Verständnis der Befehlszeilenschnittstelle Der Type-Befehl in Linux unterscheidet sich von anderen Linux-spezifischen Befehlen (z. B. ls, chmod, Shutdown, vi, grep, pwd usw.). Der „type“-Befehl ist integriert Bash-Funktion, die als Argument angezeigt wird. Informationen zum bereitgestellten Befehlstyp. $type Neben Bash sind auch andere Shells (Zsh, Ksh usw.) im Lieferumfang enthalten
