以javascript .val()并将其在iframe的URL中使用

时间:2018-12-11 08:11:43

标签: javascript html iframe input

我的网站上有以下HTML

<form id="storyPanel" method="POST" action="<?= BASE_URL ?>/news/update/process/" style="display: none;">
    <h5>Story options</h5>
    <input type="text" id="title">
    <input type="" id="id" >

    <button type="submit" name="submit" value="edit">Edit story title</button>
    <button type="submit" name="submit" value="delete">Delete story</button>
</form>
<iframe id = "storyPanel2" src="http://localhost/P4/edit/news/<?= $story->id ?>" style="display: none;"></iframe>

我有一段JavaScript代码,它为我提供了输入中的值

 if (Number.isInteger(+d.sortBy)) {
    //editSoldierName(d.id, d.item_id);
    console.log('clicked a story');
    $('#storyPanel').fadeIn();
    $('#storyPanel2').fadeIn();

    $('#title').val(d.id);
    $('#id').val(d.sortBy);
}

我仍在学习这一切的工作原理,但现在我知道输入内容包含我要查看的故事的ID。

我希望能够将其值存储在变量中,然后将其附加到我的网址末尾,例如:

P4 / edit / news / 57

现在我有一些重新使用过的php,通常可以获取我的故事ID,但是我知道它是错的,因为我无法在iframe之外创建故事对象,然后以这种方式传递ID。我想知道是否有任何方法可以将javascript中的“ id”传递到可以附加到URL末尾的内容中。抱歉,这听起来很蠢

1 个答案:

答案 0 :(得分:0)

这是您的目标吗?

const $input = $("#story-id"), $frame = $("#story-panel-2");

$input.change(e => {
  const value = $input.val();
  $frame.attr('src', `https://placehold.it/${innerWidth}x${value}`);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<label>ID: <input id="story-id"></label>
<iframe id="story-panel-2"></iframe>