0

我正在设计一个 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、浏览器插件和服务器端语言将无法工作。

我也欢迎评论这个想法是否被误解了。

4

1 回答 1

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
于 2013-08-14T20:04:31.380 回答