Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 导致CGI文件出错的HTML变量_Javascript_Html_Variables_Cgi - Fatal编程技术网

Javascript 导致CGI文件出错的HTML变量

Javascript 导致CGI文件出错的HTML变量,javascript,html,variables,cgi,Javascript,Html,Variables,Cgi,我在打印cgi文件中的特定变量时遇到问题。我从我的网页上收到这个变量,称为totalCost,然后尝试打印它,但什么也没发生。所有其他变量都可以从该网页成功接收,并通过我的cgi文件在另一个网页上打印出来,除了这一个。我已经检查了大小写敏感度,但这没有帮助 html中的代码 <tr> <td colspan=3 padding=2><b> Total = $ </b> <input type= "text" id="totalCost"

我在打印cgi文件中的特定变量时遇到问题。我从我的网页上收到这个变量,称为totalCost,然后尝试打印它,但什么也没发生。所有其他变量都可以从该网页成功接收,并通过我的cgi文件在另一个网页上打印出来,除了这一个。我已经检查了大小写敏感度,但这没有帮助

html中的代码

<tr>  <td colspan=3 padding=2><b> Total =  $ </b> <input type= "text" id="totalCost" disabled= true name= "totalCost" size ="5" maxlength="5" value= 0.00 /> <td> <tr>
然后试着用这种方式打印出来

print header;
print start_html("Receipt"),
print h3("Fruit Store: Order Summary"),
table({-border => 2} ,caption("Your Receipt"), 
Tr([th("Name:").td($user),th("Payment Method:").td($cardType),th("Fruit Type").td("Quantity"), th("Apple").td($appleQty), th("Oranges").td($orangeQty), th("Bananas").td($bananaQty), th("Total Cost:").td($c)]));
print end_html;
请注意…除totalCost外的所有变量都正确打印。totalCost根本没有打印在我的结果网页中…我认为这与我做了一些计算,可能没有正确地将其存储在id中有关。但我不知道如何解决这个问题

谢谢你的建议

如果从未启用
元素,则在发布表单时不会将其发送到服务器

如果您不希望用户能够更新该字段,则不要使用普通的“文本”
。在那里放置一个
来保存该值,并更新一个启用的“隐藏”

function computeCost(){

  var apples= document.getElementById("appleQty").value;
  var oranges=document.getElementById("orangeQty").value;
  var bananas=document.getElementById("bananaQty").value;

  var totCostTemp=0.69*apples + 0.59*oranges + 0.39*bananas;

  document.getElementById("totalCost").value= totCostTemp;
  document.getElementById('totalCostView').innerHTML = '$' + totCostTemp;

}
这个页面看起来像:

<td>
  <span id='totalCostView'>$0.00</span>
  <input type='hidden' id='totalCost' name='totalCost' value='0.00'>
</td>

$0.00
如果从未启用
元素,则在发布表单时不会将其发送到服务器

如果您不希望用户能够更新该字段,则不要使用普通的“文本”
。在那里放置一个
来保存该值,并更新一个启用的“隐藏”

function computeCost(){

  var apples= document.getElementById("appleQty").value;
  var oranges=document.getElementById("orangeQty").value;
  var bananas=document.getElementById("bananaQty").value;

  var totCostTemp=0.69*apples + 0.59*oranges + 0.39*bananas;

  document.getElementById("totalCost").value= totCostTemp;
  document.getElementById('totalCostView').innerHTML = '$' + totCostTemp;

}
这个页面看起来像:

<td>
  <span id='totalCostView'>$0.00</span>
  <input type='hidden' id='totalCost' name='totalCost' value='0.00'>
</td>

$0.00

禁用的字段不会被过帐。因此,您只需修改该字段,使其成为只读。比如:

<input type="text" id="totalCost" readonly="true" name="totalCost" size ="5" value="0.00" />

如果您不喜欢只读字段的颜色,可以使用CSS对其进行如下修改:

<style>
    input[readonly=true] {
     color:silver;
    }
</style>

输入[只读=真]{
颜色:银色;
}

或者为了更好的CSS兼容性:

<style>
    .disabled {
      color:silver;
    }
</style>

<input type="text" id="totalCost" readonly="true" name="totalCost" size ="5" value="0.00" class="disabled" />

.残疾人{
颜色:银色;
}

您也可以使用隐藏字段,但不必更改当前代码。

禁用的字段不会发布。因此,您只需修改该字段,使其成为只读。比如:

<input type="text" id="totalCost" readonly="true" name="totalCost" size ="5" value="0.00" />

如果您不喜欢只读字段的颜色,可以使用CSS对其进行如下修改:

<style>
    input[readonly=true] {
     color:silver;
    }
</style>

输入[只读=真]{
颜色:银色;
}

或者为了更好的CSS兼容性:

<style>
    .disabled {
      color:silver;
    }
</style>

<input type="text" id="totalCost" readonly="true" name="totalCost" size ="5" value="0.00" class="disabled" />

.残疾人{
颜色:银色;
}

您也可以使用隐藏字段,但不必更改当前代码。

谢谢,我不太明白如何使用span标记,它是用来格式化文本的,对吗?你是如何使用它来阻止用户在文本框中输入数据的?你可以使用这样一个简单的
,这样你就可以通过Javascript找到它。它不必是
,但这是最简单的用法。这样,用户将在屏幕上看到总成本,但它不会出现在可编辑的文本字段中。表单字段的类型为“隐藏”,因此它将不可见,但当表单提交时,值将被发回。很抱歉,我无法想象如何编写它…您能用javascript给出一个示例吗?代码就在您评论的答案中!!哦,顺便说一句,你很快就会发现,用Javascript浮点值进行货币计算并不能很好地工作。谢谢你,我不太明白如何使用span标记,它是用来格式化文本的,对吗?你是如何使用它来阻止用户在文本框中输入数据的?你可以使用这样一个简单的
,这样你就可以通过Javascript找到它。它不必是
,但这是最简单的用法。这样,用户将在屏幕上看到总成本,但它不会出现在可编辑的文本字段中。表单字段的类型为“隐藏”,因此它将不可见,但当表单提交时,值将被发回。很抱歉,我无法想象如何编写它…您能用javascript给出一个示例吗?代码就在您评论的答案中!!哦,顺便说一句,你很快就会发现,使用Javascript浮点值进行货币计算效果不太好。你的问题与Perl无关,而是与HTML有关。我之前没有意识到这一点,谢谢。你的问题与Perl无关,而是与HTML有关。我之前没有意识到,谢谢。