我在这里有一个代码:
<form method="post" action="">
<div id="icon-themes" class="icon32"><br></div>
<h2 class="nav-tab-wrapper"><a class='nav-tab' href='?page=symbiostock-ecommerce-manager&tab=homepage'>Home Settings</a><a class='nav-tab nav-tab-active' href='?page=symbiostock-ecommerce-manager&tab=invoices'>Invoices</a><a class='nav-tab' href='?page=symbiostock-ecommerce-manager&tab=VAT'>VAT Settings</a><a class='nav-tab' href='?page=symbiostock-ecommerce-manager&tab=feed'>Google Product Feed</a></h2>
<br />
<label for="ssem_year_num">Year
<input name="ssem_year_num" value="2014" type="text" />
</label>
<label for="ssem_month_num">
Month
<select name="ssem_month_num">
<option value="1">January</option>
<option value="2">February</option>
<option value="3">March</option>
<option value="4">April</option>
<option value="5">May</option>
<option value="6">June</option>
<option value="7">July</option>
<option selected value="8">August</option>
<option value="9">September</option>
<option value="10">October</option>
<option value="11">November</option>
<option value="12">December</option>
</select>
</label>
<p class="submit"><input type="submit" name="submit" id="submit" class="button button-primary" value="Save Changes" /></p>
</form>
尽管更改了文本和选择区域中的值,但在表单提交时它们似乎没有变化,因为var_dump($_POST)
结果显示了这一点:
array (size=3)
'ssem_year_num' => string '2014' (length=4)
'ssem_month_num' => string '8' (length=1)
'submit' => string 'Save Changes' (length=12)
通过w3验证器运行我的HTML后,看起来HTML没有被破坏,所以我想知道 - 为什么在提交时反映用户输入的值不是?
答案 0 :(得分:2)
输入文本试试这个:
<label for="ssem_year_num">Year
<input type="text" placeholder="2014" name="ssem_year_num" />
</label>
并在选择中删除“已选择”&#39;属性:
....
<option value="8">August</option>
....
看看会发生什么。
答案 1 :(得分:0)
我认为你的问题是: php是一种预处理语言。
如果您在同一页面抓取var_dump($_POST)
,则$_POST
中不应包含任何内容,因为当您加载php时,尚未发布您的表单。因此它将是空的。
将您的php放入单独的文件并通过action="submit.php"
调用,然后使用var_dump($_POST)
并查看它是否有效!
答案 2 :(得分:0)
尝试重命名:
<input type="submit" name="submit" id="submit">
到
<input type="submit" name="s1" id="s1">
看看是否能解决问题。 我假设页面上有javascript正在侦听form.submit事件。