有没有办法从表单中的div元素中获取值而不是使用输入?
我知道这是一个愚蠢的问题,但我只是想知道它是否可能。有点像PHP DOM吗?
或者有没有办法在点击提交时将div更改为输入?
谢谢,
答案 0 :(得分:5)
使用Javascript,您可以在提交表单之前将div的内容放入(隐藏)输入中。
在jQuery中大致看起来像这样:
$('#myForm').submit(function() {
$('#myHiddenInput').val($('#myDiv').html());
});
编辑:你们为什么要谈论AJAX?在这种情况下不需要使用AJAX!
答案 1 :(得分:3)
这是一个JavaScript解决方案,不带 jQuery:
<script>
function prepareSubmit() {
var payload = document.getElementById("target").innerHTML;
document.getElementById("divContents").value = payload;
return true;
}
</script>
标记:
<form name="test">
<div id="target">Payload</div>
<input type="hidden" id="divContents" name="divContents" />
<input type="submit" onclick="return prepareSubmit()" value="submit" />
</form>
onclick函数在submit事件之前运行。实际上,除非prepareSubmit
返回true,否则表单不会提交。它将div
内容插入到隐藏输入中。我认为这是最简单的解决方案。确保在表单之前加载脚本。
答案 2 :(得分:2)
PHP代码在服务器端处理,因此主要是不能对客户端DOM进行PHP操作。
使用JavaScript(最简单的imho和jQuery),您可以从DOM中提取信息,并将其作为附加字段包含在表单提交中。
有很多关于SO的问题涉及使用jQuery添加表单提交,例如
答案 3 :(得分:0)
使用jQuery在div中发布信息。很简单,只需几行代码。
答案 4 :(得分:0)
您可以在javascript文件中使用ajax调用。所有你需要做的就是调用div id,比如这个$(“#yourdiv”)。val(); 这将为您提供div id中的任何值。 如果您提供更具体的示例并显示一些代码,我可能会更具体。 吉姆
答案 5 :(得分:0)
有多种方法可以实现这一目标。
隐藏字段
您可以创建隐藏的输入字段,并在提交
时使用javascript填充这些字段<强>的Ajax 强>
使用例如jQuery的AJAX库来序列化数据并通过AJAX发布它
样式输入字段,使它们看起来像您正在谈论的div
另一种选择是只使用你习惯的输入字段,并以不再像输入的方式设置它们的样式
如果您需要其中任何一个示例,请告诉我。