Javascript id 作为 href 中的参数

标签 javascript php jquery html

Second image , First image我有一组链接,它们将打开一个弹出表单。
单击链接时,我想向表单发送一个参数,然后在表单提交时使用它。
我可以将要传递的值设置为 <a> 的 id标签。我可以发送到更远的地方吗?

<div> <span>Chapter $i:</span>
  <a href='$viewlink '>View</a><span class='status'>Status:$status </span>
  <a href=$reqlink id=$i data-rel='popup' class='ui-btn ui-btn-inline ui-corner-all ui-icon-check ui-btn-icon-left'>Request Access</a></div><br/>";
<form method="post" action=" " id="myPopup" data-role="popup" style="padding:10px">

  <h3>Enter your details</h3>
  <input type="text" name="name" id="name" placeholder="Name" required>
  <input type="email" name="email" id="email" placeholder="Email" required>
  <input type="date" name="date" id="date" placeholder="Intended completion date" required>
  <input type="submit" data-inline="true" value="Submit" name='submit'>

</form>

可以用 JavaScript 实现吗?怎么做?

最佳答案

选项#1:

设置隐藏输入,并在单击链接时将值发送给它们。然后,您可以在发送表单的另一端获取这些信息。

(注意:在我的代码示例中,我明确使用 PHP,因为您似乎已经复制了从中截取的代码)

echo "<a href='$viewlink' onclick='$(\'#viewlink\').val(1);'>View</a><span class='status'>Status:$status </span>

<!-- Do the following inside the form -->

<input type='hidden' name='viewlink' id='viewlink' value='0' />";

在 PHP 接收端你可以这样做:

if ($_POST['viewlink'] == 1) {
    // do stuff
}

选项#2:

或者,您可以将数据发送到 JavaScript 数组,防止在提交表单时发布,将数组作为查询字符串添加到表单操作,然后显式发送表单。

echo "<a href='$viewlink' onclick='linkClicked('viewlink');'>View</a><span class='status'>Status:$status </span>

这就是您在 javascript 文件中要做的事情:

var queryString = [];

function linkClicked (type) {
    queryString[type] = 1;
}

$("#myPopup").submit(function(event) {
    event.preventDefault();
    $(this).attr('action', $(location).attr('host') + $.param(queryString));
    $(this).submit();
});

在 PHP 接收端,您可以执行以下操作(注意上面的 $_POST 已更改为 $_GET):

if ($_GET['viewlink'] == 1) {
    // do stuff
}

关于Javascript id 作为 href 中的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35670779/

相关文章:

javascript - 跨多个组件的可重用模板/html 片段

php - 无法从 JSON 数据显示 Google Gauge

jquery - resetForm() 不会调用取消突出显示

php - 从数据数组中计算和搜索字符串

javascript - AEM 中 TouchUI RTE 中的多个自定义插件无法正常工作

javascript - 如何使用 Angularjs 将 html 绑定(bind)到字符串中?

javascript - AngularJS:如何在 promise 响应后更新 $scope?

javascript - Cordova 在输入焦点上禁用收缩 View

javascript - 完全陷入如何在 HTML 中显示 JSON 的问题。编辑 : I know how i want to format it, 我只是无法让它输出除原始 JSON 之外的任何内容

php - 如何锁定 InnoDB 表中的行?