在控制台中获取带文本类型的所有输入? iFrame中的页面

时间:2014-05-27 17:01:46

标签: javascript jquery iframe

如何通过输入类型(text | checkbox | radio)匹配页面上的所有inputs表单到数组?

的JavaScript:

这样简单的js会给我所有的inputs

var inputs = document.getElementsByTagName( 'input' );

现在使用jQuery:

我已经加载了jQuery,我尝试了:根据文档http://api.jquery.com/text-selector/

$( "<input>" ).is( ":text" ); 
$( "<input>" ).is( "[type=text]" ); 

控制台错误消息:

TypeError: undefined is not a function
message: "undefined is not a function"
stack: (...)
get stack: function () { [native code] }
set stack: function () { [native code] }
__proto__: Error

其他信息:

我尝试获取text输入的页面位于iFrame中,整个交互在webkit中运行。

  • 我的主页面已加载jQuery。
  • iFrame页面没有。

需要在我的主页上使用jQuery在iFrame页面上获取输入。

3 个答案:

答案 0 :(得分:5)

要使用jQuery选择输入,您可以执行此操作

$("input")

不需要括号。

选择所有文字输入

$("input[type='text']")

随着编辑引起的问题发生变化,您可以在此处找到答案:Selecting an element in iFrame jQuery

答案 1 :(得分:0)

所以给出的答案是准确的,但你也可以

$(':text")

将为您提供所有文本输入项目,在我看来更具可读性。 再次@Robbert的答案是准确的

答案 2 :(得分:0)

使用以下方法选择type =“text”的所有输入:

$(':text')

输入类型=“复选框”使用:

$(':checkbox')

输入类型=“radio”使用:

$(':radio')

编辑以迎合新的iframe信息

对于iframe中的输入,将分别转换为:

$('iframe').contents().find( ':text' );
$('iframe').contents().find( ':checkbox' );
$('iframe').contents().find( ':radio' );