【问题标题】:error: "Please use POST request" with Form and Javascript错误:“请使用 POST 请求”与表单和 Javascript
【发布时间】:2013-02-19 03:42:12
【问题描述】:

我制作了一个小表单,我希望它在输入为空时将信息发回给用户。

由于某种原因,它说请使用发布请求,所以我添加了它,现在它给了我一个不同的错误消息。

代码如下: http://jsfiddle.net/pwtnY/

<div id="main">
<form name="myForm" method="post">
    <label><span>First Name:</span><input type="text" class="firstname" name="fname"></label><br/>
    <label><span>Last Name:</span><input type="text" class="lastname"></label><br>
    <label><span>E-Mail:</span><input type="text" class="email"></label><br/>
    <label><span>Phone:</span><input type="text" class="phone"></label><br/>
    <input type="submit" name="submit">
</form>
<div id="answer"></div>
</div>

Javascript:

$(document).ready(function(){
    $('input:submit').click(function(){
       $firstname = $('.firstname').val();
       $lastname = $('.lastname').val();
       $email = $('.email').val();
       $phone = $('.phone').val();

       if($firstname === "" && $lastname==="" && $email ==="" && $phone === ""){
           $("#answer").html("Please fill out all fields.");
       }

   });
});

任何人都知道问题可能是什么以及我该如何解决它?

【问题讨论】:

  • 您是否尝试找到实际错误?更多信息可通过 DEBUG=True 获得。
  • 我不知道,我该如何添加。抱歉,我是初学者。
  • 在您的 settings.py 文件中。
  • 我只是在 jsfiddle 上做这一切来练习。链接在顶部。

标签: javascript html css forms function


【解决方案1】:

当您单击提交时,表单实际上是在发布到您的 django 后端。如果您想在发布到服务器之前进行前端验证,请阻止提交按钮实际发布。

$('input:submit').click(function(event){
       event.preventDefault();
       $firstname = $('.firstname').val();

【讨论】:

  • 仍然无法在 jsfiddle 中工作。我在顶部留下了一个链接。是否应该替换事件?
  • 您需要将 jquery 添加到小提琴中。我在这里添加了 event.preventDefault() 和 jquery - jsfiddle.net/andyzinsser/pwtnY/20
【解决方案2】:

在您的小提琴中,您没有包含 jquery 库。如果您不想向服务器提交任何内容,请将提交按钮替换为简单按钮&lt;input type="button" value="submit"&gt;。更新了您的示例:fiddle

附:您可能希望在验证中使用 OR 而不是 AND 来验证是否有任何字段为空

【讨论】:

    猜你喜欢
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    • 2018-06-16
    • 2022-01-04
    • 1970-01-01
    • 2021-01-12
    • 2019-08-09
    • 1970-01-01
    相关资源
    最近更新 更多