使用Div作为表单的值

时间:2014-07-11 13:59:31

标签: javascript php jquery

我想使用div元素提交值而不是默认值按钮和输入元素,代码看起来像这样。

的index.php

    <form action="foo.php" method="post" id="form1">
    <div id="btn" name="Siren" value="Ifrit" style="width:20px; height:20px; border:1px solid black;"></div>
    </form>

    <script>
    var btn = document.getElementById('btn');

    btn.addEventListener('click', function(){
         document.getElementById('form1').submit().value;
    }, false);

    </script>

foo.php

<?php if(isset($_POST['Siren'])){ echo $_POST['Siren'];}

上面的代码不能像我错过的东西一样工作。

怎么做?

3 个答案:

答案 0 :(得分:3)

使用隐藏文本字段怎么样?

<input type="hidden" name="Siren" value="iFrit" />

你甚至可以将它放在你的div中:

<div id="btn" style="width:20px; height:20px; border:1px solid black;">
     <input type="hidden" name="Siren" value="iFrit" />
</div>

答案 1 :(得分:1)

在表单提交事件中,将div的值/ html传递给隐藏的输入字段,服务器将捕获该输入值。

Alex说过,只有输入,选择,textarea传递到服务器端。

答案 2 :(得分:0)

您应该查看http://www.w3schools.com/html/html_forms.asp

你不能像经典按钮一样使用div,它不是它的角色。事实上你不能像你写的

那样访问另一个页面的div值(?html里面?)
<?php if(isset($_POST['Siren'])){ echo $_POST['Siren'];}

使用CSS,您可以根据需要对经典表单元素(输入,texarea,按钮...)进行处理。


在以下评论后更新
1。

  到目前为止,我们可以接近旧系统。   <div><input type="hidden>Content</div>.

我无法理解这个例子,输入隐藏的问题是什么? 它完成它的工作,你可以简单地写:

<input type="hidden" name="the name" value="content">  

2

  

<button type="submit style="background:transparent; border:none; padding:0;"><div>Content</div></button>.

为什么要在按钮内放置div? 但是,例如,您可以将css代码分配给类并将其放入标题部分或更好地放在外部文件中,然后您可以简单地:

<button type="submit class="myClass">Content</button>

3

  

<input type="hidden" id="label"> <label for="label"><div>Content</div></label>

我无法理解,为什么要为隐藏的输入添加标签? (https://bugzilla.mozilla.org/show_bug.cgi?id=597650

如果您想更好地了解字段标记的作用以及如何使用它,您应该查看http://www.w3schools.com/tags/att_input_type.asp