我正在写一个程序,但是我遇到了一个问题:当我刷新jsp页面时,系统会自动重新提交整个页面,我不知道如何避免它,有人可以帮助我吗?
让我们设想一个带有两个提交按钮的HTML表单.其中一个位于表格的上半部分,并做一些不那么重要的事情.另一个按钮是实际提交按钮,用于保存输入的数据.此按钮位于表单的末尾.这两个按钮将触发不同的动作网址.
有经验的用户喜欢通过按"输入"或"返回"而不是单击相应按钮来提交表单.
不幸的是,浏览器将查找当前表单的第一个提交按钮,并使用它来执行表单提交.因为在我的表单中第二个按钮是实际的提交按钮,我需要告诉浏览器使用这个特定按钮(或与之关联的action-url).
我没有链接javascript监听器,它正在寻找按键或类似的东西.所以我正在寻找一个更好的解决这个问题的方法.但是,欢迎javascript或jquery解决方案(没有keypressed-listerner).
非常感谢你的帮助.
我不太了解WEB问题,所以请随时问我是否遗漏了任何细节.
有一个网站我经常访问,它要求用户每次访问时都要登录.对于本网站的登录页面,我正在尝试写下一个会自动登录的用户脚本.
我设法填写表单字段,但不知道如何通过JavaScript单击提交按钮.以下是原始登录代码的精简版本.如何在此代码中自动单击此提交按钮?
<div id="start">
<div id="header">
<div id="login">
<form id="loginForm" name="loginForm" method="post" action="#">
// ...
<input type="submit" id="loginSubmit" onclick="changeAction('submitInput','loginForm');document.forms['loginForm'].submit();" value="Log in" />
// ...
</form>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud) 我已经看过很多Javascript解决方案来做到这一点,但我确信必须有一个更简单的方法.
我有一个非常简单的表单 - 一个多行文本框和一个提交按钮.我希望用户能够提交"格式化"文本(例如电子邮件,段落,新行等)
但是,当用户按Enter键放入回车符时,它会提交表单.
我在那里必须有一个属性或控制它的东西,因为这必须是一个常见的问题.Javascript作为解决方案似乎有点过于复杂.
可能重复:
提交不是javascript中的函数
为什么以下基本的javascript函数给我一个错误document.getElementById("form").submit is not a function.
我在页面上唯一拥有的是一个表单和这个javascript函数.我希望他在访问页面时自动提交表单.
<script>
window.onload = function(){
document.getElementById('form').submit();
}
</script>
Run Code Online (Sandbox Code Playgroud) 我希望在用户尝试以任何方式完成订单流程之前实施警告,当然其他方式是在付款按钮之后.
像这样的东西:
<script type="text/javascript">
window.onbeforeunload = function(){
return 'You must click "Buy Now" to make payment and finish your order. If you leave now your order will be canceled.';
};
if document.getElementsByClassName('eStore_buy_now_button').onclick = function(){
};
</script>
Run Code Online (Sandbox Code Playgroud)
我确信这在某些方面是有害的,但这是我能说明我正在尝试的最佳方式.我知道有些浏览器会显示默认文本而不是我写的实际警告,这很好.
一些注意事项,我宁愿使用普通的旧JS而不是为这一个简单的任务加载jQuery.页面上没有任何设置,因此它是一个简单的离开页面或单击"立即购买"操作.
更新:
我向你保证,这不是为了我,而是为了用户的利益.虽然它明确地解释了(做了什么),但我认为用户正在开枪并且在流程真正完成之前离开即时满足,忽略了消息的那种心态.这是一个简单的两步流程,他们提交项目的详细信息,然后付款.无论出于何种原因,他们提交详细信息,然后在50%的时间内没有完成付款.然后他们会跟进"所以,你在做这个项目还是什么?" 然后我必须解释"你从未完成订单." 他们跟进了"哎呀,在这里,你走了."
不幸的是,我会把它当作营销和网页设计101.规则#1,人们都是愚蠢的.不要采取粗鲁或悲观的态度.基本上,这个想法是假设每个人都对你的设计,教学都很愚蠢,这样你就可以轻松做出一个五岁的孩子可以做到的事情.我完全同意不让用户成为人质.但是,此页面仅在他们启动的预定订单流程中间到达(此页面永远不会以浏览方式到达).所以我认为这是一个非常合理的用例,你可以从中保存一个常见的用户错误.一个不懂技术的客户人群,所以他们真的需要这样的指导.
我想使用提交按钮图像而不是标准按钮.我在Google和SO上搜索并获得了一些不同的方法.
使用图像作为提交按钮的正确方法是什么?
此外,我想为按钮添加三种状态 - 正常,悬停,onclick
我尝试了什么
HTML
<input type="submit" value="Subscribe">
Run Code Online (Sandbox Code Playgroud)
CSS
input[type=submit] {
background:url(../images/btn-subscribe.gif) none;
text-indent:-9999px;
width:109px;
height:41px;
}
Run Code Online (Sandbox Code Playgroud)
出现了什么

它应该显示什么

我有一个JavaScript函数,当我通过'onClick'方法调用它时效果很好.基本上它的作用是从html表单中提取数据,然后根据该数据重定向到另一个页面.
但是,当我按下"输入"按钮提交表单/调用JavaScript函数,而不是使用onClick按钮来调用JavaScript函数时,它不会像我希望的那样响应.
我希望当用户按下键盘上的输入按钮时,同样的事情发生就好像他们点击页面上的"继续按钮"(通过onClick调用该功能)
这是我的代码:
JS功能:
function completeAndRedirect(){
alert('You\'re nearly there! To complete your entry, you simply need to tap \'continue\' on the next page. Good luck!');
location.href='http://google.com/?SID='+'<? echo $CATEGORY; ?>'+','+'<? echo $PLATFORM; ?>'+','+'<? echo $DEVICE; ?>'+'&email='+document.forms[0].elements[0].value;
}
Run Code Online (Sandbox Code Playgroud)
这是表格:
<form action="" method="post" onsubmit="completeAndRedirect()">
<input type="text" id="Edit1" style="width:280; height:50; font-family:'Lucida Sans Unicode', 'Lucida Grande', sans-serif; font-size:22px">
</form>
Run Code Online (Sandbox Code Playgroud)
非常感谢任何可以提供帮助的人!
当我点击提交时,file参数为null.
public ActionResult Create()
{
return View(new FileViewModel());
}
[HttpPost]
[InitializeBlobHelper]
public ActionResult Create(FileViewModel file)
{
if (ModelState.IsValid)
{
//upload file
}
else
return View(file);
}
public class FileViewModel
{
internal const string UploadingUserNameKey = "UserName";
internal const string FileNameKey = "FileName";
internal const string Folder = "files";
private readonly Guid guid = Guid.NewGuid();
public string FileName
{
get
{
if (File == null)
return null;
var folder = Folder;
return string.Format("{0}/{1}{2}", folder, guid, Path.GetExtension(File.FileName)).ToLowerInvariant();
}
}
[RequiredValue] …Run Code Online (Sandbox Code Playgroud) 我提交连接表单时出现此错误(我使用FOSUserBundle最新版本):
No encoder has been configured for account "MyApp\UtilisateurBundle\Entity\Utilisateur
Run Code Online (Sandbox Code Playgroud)
这是我的实体:
<?php
namespace MyApp\UtilisateurBundle\Entity;
use FOS\UserBundle\Entity\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
*/
class Utilisateur extends BaseUser
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\generatedValue(strategy="AUTO")
*/
protected $id;
public function __construct()
{
parent::__construct();
}
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的app/config/security.yml:
imports:
- { resource: "@MyAppFilmothequeBundle/Resources/config/security.yml" }
Run Code Online (Sandbox Code Playgroud)
这是我的src/MyApp/FilmothequeBundle/Ressources/config/security.yml:
security:
providers:
fos_userbundle:
id: fos_user.user_manager
firewalls:
main:
pattern: .* …Run Code Online (Sandbox Code Playgroud) submit ×10
forms ×5
javascript ×5
html ×3
alert ×1
asp.net ×1
asp.net-mvc ×1
automation ×1
button ×1
click ×1
css ×1
encoder ×1
form-submit ×1
function ×1
jquery ×1
jsp ×1
onclick ×1
razor ×1
refresh ×1
symfony-2.1 ×1