javascript - j-query和javascript表单使用多个提交不提交表单中的所有数据

标签 javascript jquery forms submit

我不太擅长 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,那就太棒了!

最佳答案

尝试为您的“想法”输入指定一个名称。表单控件需要 namevalid 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/

相关文章:

javascript - 如何使用jquery在数据库中创建表

javascript - 如何使用 jquery 隐藏/显示 <panel>?

javascript - jQuery 移动元素然后固定它并水平移动它

css - 内容超过流程提交的表格

c# - 禁用窗体双击时的最大化/最小化

javascript - 从 Android 的 webview 中调用 Javascript 方法

javascript - 括号中的构造函数

php - 为什么图片上传文件php会检查is_uploaded_file?

javascript - Express 的子域名、重定向和静态文件

javascript - 提取内部数组和对象数组