我正在设计一个Web应用程序,它可以向用户显示任意一系列表单(本质上是调查)。这是一个全页面样式的应用程序,因此所有脚本都是在javascript中。我希望能够通过自动抓取<select>
和<input type="radio">
等字段来测试潜在值并随机选择一个表格来测试给定的一组表格,而不知道提前有哪些有效值。有没有有用的脚本可以做到这一点?
更准确地说,给定一个(事先未知,任意,包含任何类型的字段)形式:
<form id="myForm">
<input type="radio" name="myRadio" value="1">
<input type="radio" name="myRadio" value="2">
<select name="mySelect">
<option value="a">
<option value="b">
</select>
<input type="text" name="myText">
</form>
我希望能够做到这一点:
possibilities = scanForm('myForm');
得到这个:
{
myRadio: ["1", "2"],
mySelect: ["a", "b"],
myText: []
}
我知道我可以自己编写这些内容,但是处理所有边缘情况(<select multiple>
?)和浏览器测试会很麻烦,如果已经存在,那就没必要了。
另请注意,像Selenium或iMacros这样的东西没用,因为这完全是客户端和程序化的。 GUI,浏览器插件和服务器端语言都不起作用。
我也欢迎评论这个想法是否有点误解。
答案 0 :(得分:0)
你可以做点像......
var inputs = document.getElementById('myForm').getElementsByTagName('input');
var myText = Array();
for (var i = 0; i < inputs.length; i++) {
if (inputs[i].type == "text") {
myText.push(inputs[i].value);
} else if (inputs[i].type == "radio") [
// push inputs[i].value onto your myRadio array
} else {
// other cases
}
}
// handle selects.. textareas