在没有使用<form>的情况下,我从不过多地考虑如何提交数据。我最初只关注我的表单的设计。
现在,我很难在没有<form>标记的情况下发送<form>数据。我正在使用bootstrap框架。
此外,如何获得要提交的<select>标记中的值。下面是我的HTML和PHP代码。
以下HTML
<div id="box1">
<input name="fname" type="text" placeholder="name">
</div>
<div id="box2">
<select id="food" name="food">
<option value="meat" name="nmeat"> meat </option>
<option value="fruit" name="nfruit"> fruit </option>
</select>
</div>
// ^ Above code is in a JQuery Conditional Statement
// When user select meat, <select id="meat"> will display else fruit
<div id="box3">
<!--MEAT-->
<select id="meat" name="topic">
<option value="hotdog" name="nhotdog"> hotdog </option>
<option value="sausage" name="nsausage"> sausage </option>
</select>
<!--FRUIT-->
<select id="fruit" name="topic">
<option value="apple" name="napple"> apple </option>
<option value="grapes" name="ngrapes"> grapes </option>
</select>
</div>
<div id="box4">
<textarea name="desc" rows="5" class="span11" placeholder="Description"></textarea>
<button name="submit" class="btn btn-large btn-block btn-primary" type="button">Submit</button>
</div>在PHP下面,我很难用PHP编写正确的语法,特别是如果提交的值不在<form>中
<?php
if ( isset( $_POST['submit'] ) ) {
$name = $_POST["fname"]; //box1
$gender =$_POST["gender"]; //box2
$topic =$_POST["topic"]; //box3
$desc =$_POST["desc"]; //box4
//echo $msg;
$sql = "insert into z_form (name) values ('".$msg."')";
mysql_query( $sql );
} else {
echo "error";
}
?>发布于 2013-08-08 09:09:52
真的,只需使用<form>标记即可。POST方法需要一个<form>标记。我没有看到从表单中排除<form标记的任何有效理由。
现在,我很难在没有标记的情况下发送POST数据。我正在使用引导框架。
引导并不限制您使用<form>标记。:)
将表单包装在<form标记中,如下所示:
<form action="somefile.php" method="post" name="myForm">
<!-- your form code here -->
</form>另外,从以下位置更改按钮:
<button name="submit" class="btn btn-large btn-block btn-primary" type="button">Submit</button>至:
<input type="submit" name="submit" value="Submit" class="btn btn-large btn-block btn-primary"/>最后,在PHP代码中,您要做的是:
$gender =$_POST["gender"];但是没有名称属性gender的输入字段。要么您应该用这个名称创建一个输入字段,要么从您的脚本中删除定义。
这应该能解决问题。干杯!
发布于 2013-08-08 09:02:09
为什么不使用<form>?所有其他方法包括结合使用jquery和ajax,或者仅仅使用ajax发送值。但是不应该有理由不使用<form>标记。
发布于 2013-08-08 09:02:43
首先,您需要包括表单标记:
<form action="process.php" method="post">
//form content
</form>更改提交按钮。还可以将名称更改为"submit“以外的其他名称,以避免名称空间冲突:
<input type="submit" name="sub" class="btn btn-large btn-block btn-primary" value ="Submit" />另外,给出您选择的不同名称(有两个名称为"topic"):
<select id="meat" name="meat">
<option value="hotdog" name="nhotdog"> hotdog </option>
<option value="sausage" name="nsausage"> sausage </option>
</select>然后从$_POST检索这些值。
$meat = $_POST['meat'];https://stackoverflow.com/questions/18121883
复制相似问题