我正在使用Python Mechanize打开一个网站,填写表格并提交该表格.它实际上非常简单.它工作,直到我遇到单选按钮和"选择"输入框.
br.open(url)
br.select_form(name="postmsg")
br.form['subject'] = "Is this good for the holidays? "
br.form['message'] = "I'm new to technology."
br.form['E'] = '0'
br.submit()
br.form['E'] = '0'
File "build/bdist.linux-x86_64/egg/ClientForm.py", line 2897, in __setitem__
File "build/bdist.linux-x86_64/egg/ClientForm.py", line 2092, in __setattr__
File "build/bdist.linux-x86_64/egg/ClientForm.py", line 2100, in _set_value
TypeError: ListControl, must set a sequence
Run Code Online (Sandbox Code Playgroud)
为什么我收到此错误?为什么我不能像文本框那样设置E?(E是单选按钮)
编辑:根据Web Developer的说法,这是表单.
Elements
Index Id Name Type Value Label Size Maximum Length State
0 subject subject text 35
2 message message textarea
3 identity identity select 1 …
Run Code Online (Sandbox Code Playgroud) 我正在为我们学校的年度数学竞赛创建一个竞赛注册页面。当您单击并选择下拉列表中的项目时,它需要一些类似 AJAX 的行为。
当我在下拉列表中选择某些内容时,我收到了一个要触发的事件(我目前正在显示一个警报框):
<script type="text/javascript">
$(function() {
$("#student").change(onStudentChange);
});
function onStudentChange()
{
alert("Dropdown changed");
}
</script>
Run Code Online (Sandbox Code Playgroud)
这需要做的是对服务器进行异步调用以获取学生当前注册的比赛列表。
我知道我需要做一个 jquery ajax 调用。所以我认为我的 onStudentChange() 函数看起来像这样:
$.ajax({
type : 'POST',
url : 'get_registered_events.php',
dataType : 'json',
data: {
studentid : $('#student').val()
},
success : function(data){
// Do something once we get the data
},
error : function(XMLHttpRequest, textStatus, errorThrown) {
// Display error
}
});
return false;
});
Run Code Online (Sandbox Code Playgroud)
所以我继续创建了get_registered_events.php
,我想返回学生注册的事件。
我的问题是,我对 PHP 没有经验,而且我很难弄清楚如何将数据库给我的数据以 JSON 格式返回给这个 ajax 调用。我遇到的另一个障碍是我们学校使用的是非常旧的 PHP 版本,所以我必须使用这个PEAR JSON …
我不是一个巨大的JavaScript性能大师.简单地想知道,我可以将以下代码更紧凑吗?不像打包或压缩它,而是按照它的编写方式.
(function() {
var jq = document.createElement('script');
var an = document.createElement('script');
var cm = document.createElement('script');
var ga = document.createElement('script');
var domain = 'http://example.com/';
jq.src = domain + 'jquery.1.3.2.js';
an.src = domain + 'jquery.alphanumeric.js';
cm.src = domain + 'common.js';
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
ga.setAttribute('async', 'true');
document.documentElement.firstChild.appendChild(jq);
document.documentElement.firstChild.appendChild(cm);
document.documentElement.firstChild.appendChild(an);
document.documentElement.firstChild.appendChild(ga);
})();
Run Code Online (Sandbox Code Playgroud)
干杯啦!
我知道第一条路线将占据大部分路径.但是,这也会捕获/ Product/Edit/blablabla(我正在使用ASP.NET路由调试器):
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = @"\d{1,}" }
);
routes.MapRoute(
"Catch All",
"{*path}",
new { controller = "Error", action = "NotFound" }
);
}
Run Code Online (Sandbox Code Playgroud)
但这是错的!为什么?如果不是长度为1的整数,则第一条路线不匹配.我还需要处理未找到的coutroller和动作......任何想法?
非常感谢!
我正在用C#编写一个Vector类,并认为索引器是一个很好的补充.我是否需要担心指数超出范围?
也许代码示例会更清晰:
class Vector3f
{
public Vector3f(float x, float y, float z)
{
this.X = x;
this.Y = y;
this.Z = z;
}
public float X {get; set;}
public float Y {get; set;}
public float Z {get; set;}
public float this[int pos]
{
get
{
switch (pos)
{
case 0: return this.X; break;
case 1: return this.Y; break;
case 2: return this.Z; break;
}
}
set
{
switch (pos)
{
case 0: this.X = value; break;
case 1: this.Y = …
Run Code Online (Sandbox Code Playgroud) 我在最近的一个项目中使用Mercurial.在我正在部署项目的Web服务器上,我有一个略有不同的配置文件和生产设置.问题是,当我pull
和update
我经常要merge
和commit
为好.
这是正确的工作流程吗?看起来奇怪的是,为了能够继续更新,我必须提交更改集,我想合并会将它们集成到我的生产分支中,并且每次更新时都会继续这样做.这是一个分布式版本控制范例我还不习惯吗?
我正在使用Python 2.6下的PyInstaller,这只是部分支持,因为MS使用他们的清单nonense创建了混乱,现在影响Python,因为它现在是MSVC8编译的.
问题是清单嵌入支持依赖于pywin32扩展来构建这是一个痛苦,因为我在创建virtualenv时没有包含主机的site-packages文件夹(有点打败构建环境中的点)我找不到方法安装所需的扩展,以便PyInstaller可以访问它们.
有没有人找到解决这个问题的方法?
所以我使用了一个非常基本的jQuery .slideDown,它在FF,Safari和Chrome中运行良好.在IE7中根本不起作用.这是脚本:
//Top Mailing List Drop down animation
$(document).ready(function() {
$('div#top_mailing_hidden').hide();
// Expand Panel
$("input#top_mailing").focus(function(){
$("div#top_mailing_hidden").slideDown("slow");
});
// Collapse Panel
$("input#top_mailing").blur(function(){
$("div#top_mailing_hidden").slideUp("slow");
});
});
Run Code Online (Sandbox Code Playgroud)
我已经研究了几个小时,发现了一些与滑动/缩小有关的错误,导致它在用于postion的后代时在IE7中失败:固定元素.这个动画发生在一个位置:固定的导航栏,但是,我已经尝试用位置包装内部元素:相对但无济于事,我仍然在IE中得不到任何东西.另外,请注意nav元素是用jQuery隐藏的,即使在IE7中该函数也能正常工作,但是,滑动/缩小不是.
这是相关的CSS:
/* --------------Top Dropdown Mailing List------------------- */
#top_nav div#top_mailing{
float: right;
width: 351px;
padding: 0 10px 10px 5px;
background: url(images/top_mailing_bg.png) bottom center no-repeat;
position: absolute;
top: 0;
right: 0;
color: #fff;
text-shadow:0 -1px 0px #222;
}
#top_mailing #top_mailing_hidden{
font-size: .7em;
text-align: center;
position: relative;
height: 30px;
zoom: 1;
}
#top_mailing #top_mailing_hidden div{
}
#top_mailing #top_mailing_hidden …
Run Code Online (Sandbox Code Playgroud) 这是application.html.erb
文件中的调用:
<%= render :partial => 'tasks/_new' %>
Run Code Online (Sandbox Code Playgroud)
这是部分渲染(_new.html.erb
):
<% form_for @task do |f| -%>
<%= f.text_field :body %>
<%= submit_tag "Submit" %>
<% end -%>
Run Code Online (Sandbox Code Playgroud)
这是'tasks'控制器中的方法:
def new
@task = Task.new
respond_to do |format|
format.html # new.html.erb
format.xml { render :xml => @task }
end
end
Run Code Online (Sandbox Code Playgroud)
这是我一直得到的错误消息:
Missing template tasks/__new.erb in view path app/views
Run Code Online (Sandbox Code Playgroud)
它说错误在这一行:
<%= link_to "tasks", tasks_path %> <%= render :partial => 'tasks/_new' %>
Run Code Online (Sandbox Code Playgroud)
该文件位于正确的目录中.奇怪的是_
文件名中有一个额外的错误.当我放弃并重命名部分时__new.erb
,这是我得到的错误:
Called id for nil, which …
Run Code Online (Sandbox Code Playgroud) 我有javascript代码使用window.open()函数打开一个弹出窗口.我想将数据从父窗口传递到弹出窗口,我似乎无法在google或SO上的任何地方找到优雅或简单的解决方案,但似乎应该支持这种内置于JS中.将数据传递到弹出窗口的最简单方法是什么?
在此先感谢您的帮助!
javascript ×3
c# ×2
jquery ×2
python ×2
ajax ×1
asp.net-mvc ×1
asynchronous ×1
commit ×1
css ×1
dvcs ×1
forms ×1
http ×1
json ×1
mechanize ×1
mercurial ×1
merge ×1
performance ×1
php ×1
pyinstaller ×1
routes ×1
slideup ×1
url ×1
virtualenv ×1
winapi ×1