Предисловие: Я считаю себя «немного эффективным» в рубине на рельсах и совершенно новичком в javascript. Кроме того, да, я установил jQuery и связанные с ним плагины вместо библиотеки Prototype по умолчанию.
Я нахожусь в ситуации, когда я нахожусь в таблице из-за сайта в iframe (который заботится обо всех внутренних JS для меня), так что, когда щелкнула часть таблицы, td получит класс «активный». То, что я хотел бы сделать, это взять эту информацию (я предполагаю, что могу получить ее в строчном формате) и передать ее методу (в моем контроллере, я предполагаю), который будет анализировать html, вытащить а затем вызвать метод создания в том же контроллере с анализируемой информацией, конечным результатом которого является новый элемент в этой таблице.Javascript html захват внешнего iframe + вызов действия контроллера с данными
То, что я до сих пор Javascript, который я считаю, это правильно:
<script type="text/javascript">
var ImportInfo = function() {
var info = $('td.active').html();
// call controller action which parses the given string,
//checks for existence in database, and adds new row if needed
}
$("#Import").click(ImportInfo);
</script>
и, конечно же, кнопка с идентификатором = «Импорт».
Я рассмотрел этот вопрос: Using jQuery To Call A Controller Action, но несколько не уверен, как вызвать действие контроллера, чтобы передать содержимое td в виде строки. Является ли это выполнимым с помощью метода почты jQuery?
ADDED INFO: мой IFrame:
<iframe id='locator' src="http://hosted.where2getit.com/wafflehouse/indexnew.html" width="740" height="700" marginheight="0" marginwidth="0" scrolling="no" frameborder="0" align="bottom" name="plg_iframe">No Frames</iframe>
Хех, если вы можете помочь мне с самого начала с прототипом, я бы более чем хотел переключиться обратно. Это первый (и, вероятно, единственный) бит JS в проекте, так что это не так, как будто слишком много шагов назад. Единственная причина, по которой я переключился, - это то, что коллега, с которым я разговаривал, рекомендовал jQuery над Prototype. – Zind
@ Zind: См. Мой отредактированный ответ. Имейте в виду, что это похоже на то, что вы пытаетесь сделать, невозможно из-за междоменной безопасности iframe. – Josh
Да, я заметил, что это может быть проблемой, когда я обманывал firebug, пытаясь понять, даже получал правильные данные - я мог бы на самом деле не повезло, но спасибо за помощь JS в любом случае, это будет очень удобно, если я в конечном итоге смогу преодолеть этот пробел. – Zind