0

我还是 javascript 的新手,不确定语法或者我的想法是否正确。如果有人可以就如何做到这一点向我提供建议,那就太好了。这是我需要做的我有一个表格,用户可以在其中提供自己的贷项通知单编号,或者系统自己生成一个,因此我将有两个单独的变量。

我想要的是,当他们单击名为 Create Credit Memo 的链接时,其中一个变量将在链接中发送。如果他们提供自己的号码,则应发送该号码,否则应发送自动号码。经过大量时间浏览网络后,我认为这是可行的,但我认为我弄乱了语法或完全错误。

Jave 脚本 - 我确定我的语法不正确

$('#creditmemolink').click(function(){ 
{

if (&('#creditmemo').is(':defined'))
{   
    var cmnum = document.getElementById('creditmemo').value;
    var ttUrl = "somepage.cfm?creditmemos=#cmnum#&claimid=9988";
    window.open(ttUrl,"_blank");
} else {
    var cmnum = document.getElementById('cmnum').value;
    var ttUrl = "somepage.cfm?creditmemos=#cmnum#&claimid=9988";
    window.open(ttUrl,"_blank");
    return false;
}
}

这是正文中的 HTML

<div id="DspTxt" style="display:none;" class="txtmedb"> 
 Own Credit Memo: <input type="text" size="25" name="creditmemo" id="creditmemo"   
 class="txtsv" onChange="CreditMemoText()">&nbsp;&nbsp;&nbsp;

                                        <cfset cmnum = #htmlEditFormat(GETCLAIM.PO_NBR)# & #TimeFormat(NOW(),"hhmm")#>
<cfset cmnum = #cmnum# & #htmlEditFormat(url.claimid)#>
<cfset cmnum = #cmnum# & 'CM'>

      <a href="#" id="credmemolink">Create Credit Memo Test</a>

</div>

任何关于如何做到这一点的建议都将不胜感激。已经声明我对冷融合和 Java 仍然是新手,所以仍在学习最好的方法和正确的语法来使用。

提前感谢您对此提供的帮助。

4

3 回答 3

0

我不太确定您的 ColdFusion 在做什么,但我可以在 JavaScript 部分提供帮助:

我认为您想要对标记执行的操作类似于:

<form id="myForm" action="somepage.cfm" method="GET">
  <input type="hidden" name="claimid" value="9988">
  <input type="hidden" name="creditmemos" id="cmnum">
  <label>
    Own Credit Memo: <input type="text" name="creditmemo" id="creditmemo">
  </label>
  <a href="#" id="credmemolink" data-cmnum="numfromcf">Create Credit Memo Test</a>
</form>

然后对于你的 JS:

$("#credmemolink").on("click", function(e) {
  var $myForm = $("#myForm"),
      cmnum;

  e.preventDefault();

  if ($("#creditmemo").val() !== "") {
    cmnum = $("#creditmemo").val();
  } else {
    cmnum = $("#credmemolink").data("cmnum");
  }

  $("#cmnum").val(cmnum);
  $myForm.submit();
});

这将阻止链接上的默认操作,然后检查该字段的值以查看他们是否输入了任何内容。

然后它将使用您需要的值设置一个隐藏字段,然后提交您的表单。

于 2013-06-21T22:07:07.980 回答
0

如果您不结合表单和锚标记,您的页面将更易于编码和使用。具体来说,您不需要锚标记,也不需要 javascript。您只需要一个带有文本框和提交按钮的表单。然后你可以像这样处理它。

<cfscript>
if (len(trim(form.creditmemo))) {
claimId = form.creditmemo;
}
else {
code to generate one
}
etc
于 2013-06-22T11:36:30.803 回答
0

试试下面的代码

$('#creditmemolink').click(function(){ 
{

if ($('#creditmemo'))
{   
    var num = $('#creditmemo').val();
    //checking if user entered any value
    if(num) {

    } else {
       //executed when user did not provide any input
    }
}});
于 2013-06-21T21:51:47.067 回答