有没有办法从表单中的div元素获取值而不是使用输入?从div获取价值。
我知道这是一个愚蠢的问题,但我只是想知道它是否可能。像PHP DOM的东西?
或者有没有办法可以改变div的输入时,提交?
感谢,
有没有办法从表单中的div元素获取值而不是使用输入?从div获取价值。
我知道这是一个愚蠢的问题,但我只是想知道它是否可能。像PHP DOM的东西?
或者有没有办法可以改变div的输入时,提交?
感谢,
使用JavaScript,你可以把div的内容为(隐藏)输入您提交表单权利之前。
它将大约是这样的jQuery中:
$('#myForm').submit(function() {
$('#myHiddenInput').val($('#myDiv').html());
});
编辑:为什么你们在谈论AJAX?在这种情况下不需要使用AJAX!
内部$('#myForm')。submit();'是没有必要的。只要函数不返回false或调用'e.preventDefault()',表单就会提交。如你所知,这将无限递归。 – paislee
感谢您指出,我更新了我的代码。 –
使用jQuery发布div内的信息。很简单,只需要几行代码。
PHP代码是在服务器侧进行处理,所以有主要可以是客户端DOM的无PHP操纵。
使用JavaScript(用jQuery最简单恕我直言)你可以拉出来的信息DOM的,它包括在表单提交的附加字段。
在SO上有很多关于如何使用jQuery添加表单提交的问题,例如,
有多种方式来archieve这一点。
隐藏字段
您可以创建隐藏的输入字段使用JavaScript填补这些上提交
阿贾克斯
例如使用jQuery的AJAX库序列化数据,并通过张贴AJAX
样式输入字段,以便它们看起来像你说一个股利布特
另一种选择是只使用输入字段为你使用到和他们的风格在某种程度上,他们不喜欢看投入了
让我知道如果你需要任何的例子这些。
这里是一个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功能之前提交事件运行。实际上,除非prepareSubmit
返回true,否则表单不会提交。它将div
内容插入到隐藏的输入中。我认为这是最简单的解决方案。确保脚本在表单之前加载。
这也适用。谢谢。 – Brian
将'prepareSubmit'放在窗体的'onsubmit'属性中不是更好吗?这样,它将处理所有类型的提交,例如按下表单元素中的回车。 – RustyTheBoyRobot
为什么没有隐藏的Fileds – zod
只是为了学习的唯一目的。我想看看它是否可能,并从中吸取教训。 – Brian