我不太擅长 javascript 或 jQuery,主要是处理数据库,但是在获取一个相当复杂的表单来提交其所有数据时遇到了一些麻烦。
基本上,它相当于三个不同的提交按钮,这些按钮旨在以发送到表的不同隐私设置的形式发布数据。数据库中的表正在使用每个按钮的正确隐私设置进行更新,但它不会将表单的思考部分的值发送到它应该发送的 php 文件。
该表单在 HTML 中的实现如下:
<FORM action="thought_post.php" method="post" name="thought">
<INPUT onfocus="this.select(); this.value=''"
type="text" value="Thought..."
size="72" />
<div class="megamenu" style="position: absolute; ;left: 478px; top: 11px;">
<ul>
<li class="downservices"><a href="#">Publish...</a></li>
<div class="servicesdropped">
<ul class="right">
<input type="hidden" name="privacy">
<li><a href="javascript:poststyle('private')">Private</a></li>
<li><a href="javascript:poststyle('friends')">Friends only</a></li>
<li><a href="javascript:poststyle('public')">Public</a></li>
</ul>
</div>
</ul>
</div>
</FORM>
同一页面的header中的javascript如下:
<link rel="stylesheet" href="dropdown.css" type="text/css" media="screen" />
<script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$(".downservices").click(function(){
$(".servicesdropped").toggle("fast");
});
});
</script>
<script language="JavaScript" type="text/javascript">
<!--
function poststyle(selectedtype)
{
document.thought.privacy.value = selectedtype ;
document.thought.submit() ;
}
-->
</script>
如果有人能解释为什么用户输入的thought
值没有被传递到thought_post.php
,那就太棒了!
最佳答案
尝试为您的“想法”输入指定一个名称
。表单控件需要 name
为 valid for submission :
<INPUT onfocus="this.select(); this.value=''" type="text" value="Thought..." size="72" name="thought" />
作为旁注,请确保您的其他 input
也是有效的标记,input
标签应该是自动关闭的:
<input type="hidden" name="privacy" />
进行这些更改并使用 FireBug 检查表单后,我可以看到“思想”的正确值。
此外,正如其他答案提到的,您应该 separate your JavaScript and HTML也许可以用 jQuery 完全完成这个任务。
希望有帮助!
关于javascript - j-query和javascript表单使用多个提交不提交表单中的所有数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4435308/