我想使用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'];}
上面的代码不能像我错过的东西一样工作。
怎么做?
答案 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