2009-07-02 14 views
7

Estoy tratando de unir dos servicios web pasando un valor de uno a otro, lamentablemente no hay API o una forma clara de piratear la consulta de búsqueda, así que tengo que establecer el valor de una entrada dentro de un iframe.Establecer texto de entrada dentro de iframe y enviar

Aquí está la marca del horrible iframe.

<form id="searchForm" method="post" action="/search/initialSearch">   
    <fieldset class="searchFields"> 
    <input type="text" name="searchTerm" value=""/> 
    <input type="submit" value="Find stops"/> 
    </fieldset> 
</form> 

Necesito establecer el texto del Término de búsqueda y luego enviar el formulario.

Nota: Esto va a través del móvil, así que preferiría una solución muy ligera

Respuesta

6

¿No es tan simple como:

myframe.document.getElementById("searchForm").searchTerm.value = 'hello'; 
myframe.document.getElementById("searchForm").submit(); 

Asegúrese de que el script se ejecuta después de la iframe es cargado. Su etiqueta iframe tiene un evento onload que puede usar para determinar cuándo se carga la página dentro del marco.

<iframe src="formPage.html" onload="loaded()" name="myframe" /> 
+0

Gracias, ¿cómo puedo asegurarme de que el marco esté cargado? ¿Hay algún tipo de evento que se desencadene? – Tom

+0

Puede agregar una referencia de función al atributo de carga del iframe: