所以..
<%= submit_tag 'Save', :name => 'save' %>
<%= submit_tag 'Save to Library', :name => 'library' %>
Run Code Online (Sandbox Code Playgroud)
然后在我的控制器中:
with_action do |a|
a.save do
end
a.library do
end
end
Run Code Online (Sandbox Code Playgroud)
问题是只有一个动作被调用...对于两个submit_tags都是同一个...任何想法为什么?
或者我如何获得两个按钮将表单提交给两种不同的方法?
我需要激活一些自定义JavaScript验证,然后使用JavaScript提交我的ASP.NET.
如何使用JavaScript提交表单?
我有一个使用jQuery方法.append()动态生成的表单.我可以添加任意数量的新输入,文本框,cmbbox等...
但问题是,当我执行表单的sumbit时,PHP目标不会接收添加的新输入,而只是连接到append()之前的表单中已经输入的变量.
有任何想法吗?
javascript:
$("#button").live('click',function add(){
$("#list").append(
'<li style="height:20px;">'
+'<input type="text" class="text" id="prova" name="prova[]" value="prova">'+
'</li>'
);
});
Run Code Online (Sandbox Code Playgroud)
Html:
<input type="submit" id="button" value="Add input">
<form name = "form" id="form" action="post.php" method="POST">
<ul style="width:670px;padding:0px 0px 30px 0px" id="list">
</ul>
<input type="submit" id="submit" value="Submit">
</form>
Run Code Online (Sandbox Code Playgroud)
PHP:
<?php
print_r($_POST);
?>
Run Code Online (Sandbox Code Playgroud) 我有一个基本的表单,我使用一些基本的PHP提交.我有表单提交伟大的工作,但我有一个单选按钮(用于接触的首选方法),我不知道如何添加在PHP,以便在电子邮件中发送.两个单选按钮选项具有相同的名称,因此不能用作值.我的代码如下.
PHP如下:
<?php
$name = stripslashes($_POST['name']);
$email = stripslashes($_POST['email']);
$phone = stripslashes($_POST['phone']);
$contact = stripslashes($_POST['contact']);
$message = stripslashes($_POST['message']);
$form_message = "Name: $name \nEmail: $email \nPhone: $phone \nPreferred Method of Contact: $contact \nMessage: $message";
// Exit process if field "human" is filled (because this means it is spam)
if ( $_POST['human'] ) {
echo 'Tastes Like Spam!'; exit; }
// if it is not filled, submit form
else {
header( "Location: http://www.newurl.com");
mail("myemail@gmail.com", "Email Subject", $form_message, "From: $email" );
}
?> …Run Code Online (Sandbox Code Playgroud) 谁能解释这种行为?当表单包含单个文本框时,在HTML表单的文本框中按Enter键会提交表单,但在表单包含两个或更多文本框时则不会.
jsFiddle(一个输入):http://jsfiddle.net/gpPTa/jsFiddle
(两个输入):http://jsfiddle.net/fDbJt/
我有以下功能从页面收集数据,将它们全部填入"数据"变量,将其附加到表单然后提交它.
$(document).ready(function () {
$('#content-tab .submit').click(function () {
var data = {champion: window.selectedChampion, runes: runes, masteries: masteries, items: items, skillingOrders: skillingOrders, chapters: chapters, title: $('#guide_title').val()};
data = JSON.stringify(data);
$("<form method='post'>").append($('<input type="hidden" name="data" id="data">').val(data)).submit();
});
});
Run Code Online (Sandbox Code Playgroud)
页面上有一个div,当点击时触发它:
<div class='button pointer submit'>Submit</div>
Run Code Online (Sandbox Code Playgroud)
在Chrome中测试时一切都很好.然后提交的表单会按照计划重定向到页面.但是在Firefox中进行测试时(第5和第6版),点击div不会做任何事情.纳达.小人物.我想知道Firefox出了什么问题?任何帮助将受到高度赞赏.谢谢.
我正在尝试显示一个简单的微调器gif同时正在执行提交(这需要一点,因为我必须通过Web服务与提供者建立一些通信).
所以,我有这个:
$('#gds_form').submit(function() {
var pass = true;
//some validations
if(pass == false){
return false;
}
$("body").prepend('<div class="ui-widget-overlay" style="z-index: 1001;"></div>');
$("body").prepend("<div id ='PleaseWait'><img src='/images/spinner.gif'/></div>");
return true;
});
Run Code Online (Sandbox Code Playgroud)
问题是,.gif没有显示任何动画,就像它被冻结了一样.
为什么?
还有另一种方法可以实现这一点(注意我没有使用AJAX,我不想这样做)?
谢谢.
我有以下表格:
<form id="form" action="comments.php" method="post">
<ul>
<li><div class="formbox_titles">Name</div><input type="text" name="name" class="required comm_input" /></li>
<li><div class="formbox_titles">Email</div><input type="text" name="email" class="required comm_input"/></li>
<li><div class="formbox_titles">Message</div><textarea name="message" class="required comm_text"></textarea></li>
<li><input type="submit" value="Submit"></li>
</ul>
</form>
Run Code Online (Sandbox Code Playgroud)
并遵循JQuery进行表单提交:
target: '#preview',
success: function() {
$('#formbox').slideUp('fast');
}
Run Code Online (Sandbox Code Playgroud)
现在的问题是我还有表单验证JQuery代码
$().ready(function() {
// validate comment form
$("#form").validate({
});
});
Run Code Online (Sandbox Code Playgroud)
它们都工作得很好,并且表单会弹出警告,所有三个字段都不能为空,但表单中的日期无论如何都会提交到数据库中.我使用以下代码进行表单验证http://bassistance.de/jquery-plugins/jquery-plugin-validation/所以问题是如何在第二个中添加第一个jquery,所以首先填写必填字段后会执行?
希望有人会帮忙.谢谢.
我正在现有的Web应用程序上实现AngularJS,它需要像没有AngularJS那样的常见HTTP POST.
这似乎比我预期的要困难.页面URL是动态生成的,无法使用PHP进行回显.我尝试使用jQuery修改表单操作,但这似乎也不起作用.
以正常方式提交表格真的不可能吗?这就是我的正常形式:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<form method="post">
<input type="text" name="txt">
<input type="submit" name="submit">
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
这与AngularJS的形式相同:
<!DOCTYPE html>
<html ng-app>
<head>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js"></script>
</head>
<body>
<form method="post">
<input type="text" name="txt">
<input type="submit" name="submit">
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
第一个表单执行常规表单发布,第二个表单不执行.根据http://docs.angularjs.org/api/ng.directive:form这是设计的,我可以在表单中提供"action"参数.将它留空是行不通的,并且使用jQuery修改它似乎也不起作用.
我意识到你永远不应该禁用一个元素并且也需要它,因为如果它被禁用,用户怎么能使它有效?
但是,我有一些<select>产品,我希望我的用户可以选择.当他们选择其中一种产品时<select>,仅当产品具有一个或多个型号时,才会填充,启用和需要产品的其他产品.否则,禁用并清空模型选择.
虽然我喜欢认为我的代码是完美的,我可以做到这样,模型下拉列表永远不会被禁用并同时需要,但我并不完美.那么,表单是否能够以<select>禁用和必需的形式提交?
来自w3.org:
约束验证:如果元素是必需的,并且其值IDL属性适用并且在模式值中,并且元素是可变的,并且元素的值是空字符串,则该元素正在丢失.
查看具体的"可变"意味着什么.
表单控件可以指定为可变的.
注意:这决定了(通过本规范中的定义和要求依赖于是否指定了元素)用户是否可以修改表单控件的值或检查,或者控件是否可以自动预填充.
选择没有值,因此由它的选项决定.
select元素没有值; 其选项元素的选择性是用来代替的.
所以,我认为这意味着如果一个<select>元素被禁用并且需要,那么表单可以被认为是有效的吗?