首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在没有<select>标记的情况下获得<form>的值

如何在没有<select>标记的情况下获得<form>的值
EN

Stack Overflow用户
提问于 2013-08-08 08:59:06
回答 6查看 8.3K关注 0票数 0

在没有使用<form>的情况下,我从不过多地考虑如何提交数据。我最初只关注我的表单的设计。

现在,我很难在没有<form>标记的情况下发送<form>数据。我正在使用bootstrap框架。

此外,如何获得要提交的<select>标记中的值。下面是我的HTML和PHP代码。

以下HTML

代码语言:javascript
运行
复制
<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>

代码语言:javascript
运行
复制
<?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";
    }
 ?>
EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2013-08-08 09:09:52

真的,只需使用<form>标记即可。POST方法需要一个<form>标记。我没有看到从表单中排除<form标记的任何有效理由。

现在,我很难在没有标记的情况下发送POST数据。我正在使用引导框架。

引导并不限制您使用<form>标记。:)

将表单包装在<form标记中,如下所示:

代码语言:javascript
运行
复制
<form action="somefile.php" method="post" name="myForm">

<!-- your form code here -->

</form>

另外,从以下位置更改按钮:

代码语言:javascript
运行
复制
<button name="submit" class="btn btn-large btn-block btn-primary" type="button">Submit</button>

至:

代码语言:javascript
运行
复制
<input type="submit" name="submit" value="Submit" class="btn btn-large btn-block btn-primary"/>

最后,在PHP代码中,您要做的是:

代码语言:javascript
运行
复制
$gender =$_POST["gender"];

但是没有名称属性gender的输入字段。要么您应该用这个名称创建一个输入字段,要么从您的脚本中删除定义。

这应该能解决问题。干杯!

票数 3
EN

Stack Overflow用户

发布于 2013-08-08 09:02:09

为什么不使用<form>?所有其他方法包括结合使用jquery和ajax,或者仅仅使用ajax发送值。但是不应该有理由不使用<form>标记。

票数 0
EN

Stack Overflow用户

发布于 2013-08-08 09:02:43

首先,您需要包括表单标记:

代码语言:javascript
运行
复制
<form action="process.php" method="post">
    //form content
</form>

更改提交按钮。还可以将名称更改为"submit“以外的其他名称,以避免名称空间冲突:

代码语言:javascript
运行
复制
<input type="submit" name="sub" class="btn btn-large btn-block btn-primary" value ="Submit" />

另外,给出您选择的不同名称(有两个名称为"topic"):

代码语言:javascript
运行
复制
<select id="meat" name="meat">
   <option value="hotdog" name="nhotdog">   hotdog     </option>
   <option value="sausage" name="nsausage"> sausage    </option>
</select>

然后从$_POST检索这些值。

代码语言:javascript
运行
复制
$meat = $_POST['meat'];
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18121883

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档