【问题标题】:Javascript: Atributting value to an id What is wrong with this code?Javascript:将值归因于 id 这段代码有什么问题?
【发布时间】:2013-09-10 07:04:57
【问题描述】:

这里的事情是,我有这个代码,它应该将变量的结果输出到联系表格 7 中,用于通过电子邮件发送的 wordpress 隐藏字段(我有模块插件来启用隐藏字段),但我不认为我显示的 id 获得了 i 属性的值,我 js 对代码进行了 linted,它所说的只是多变量声明,这不应该是一个问题,因为它是一个 if 语句,所以,永远不会有双重声明变量。

这是我用来将在我的脚本中创建的 cookie(使用 jQuery.cookie)转换为输出到我网站中的表格的文本的代码,但不仅仅是将其输出到表格,我想通过电子邮件发送给它对用户来说,我已经准备好了一个联系表格 7 表格,我只需要将返回的变量的值(或至少其中一个,最后一个是价格,我不需要通过电子邮件)到联系表单字段ID,昨天在stackoverflow中有人给了我将值传递给联系表单7的代码,但恐怕它不起作用:/

 function readRims() {
var rims_read = $.cookie('rim_color');
if (rims_read=="black" ) {
    var jantes = 'Pretas';
    var preco = 'Sob Consulta';
}
else if (rims_read=="silver"){
    var jantes = 'De Série';
    var preco = '';
}
else if (rims_read=="white"){
    var jantes = 'Brancas';
    var preco = 'Sob Consulta';
}
else if (rims_read=="titanium"){
    var jantes = 'Titanium';
    var preco = 'Sob Consulta';
}
else {
    var jantes = 'Escolha as Jantes';
    var preco =' ';
}
$('#cfg_rims').val(jantes);
return {
    jantes: jantes, 
    preco: preco
    };
}

HTML

[hidden modelo id:cfg_model]
[hidden cor id:cfg_color]
[hidden jantes id:cfg_rims]
[hidden ac id:cfg_ac]
[hidden abs id:cfg_abs]
[hidden alarme id:cfg_alarm]
[hidden led id:cfg_led]
[hidden chapeleira id:cfg_chapeleira]

<p>Oferecemos a possibilidade de enviar um email à nossa equipa com as suas escolhas no nosso configurador como manifestação de interesse, preencha o seguinte formulário e carregue em enviar para proceder ao envio da informação, a nossa equipa entrará em contacto consigo para dar seguimento à manifestação de interesse.</p>


<p>O seu Nome<br/></p>
[text* nome]

<p>O seu Email<br/></p>
[email* email]

<p>Observações<br/></p>
[textarea obs]

<p>[submit "Enviar"]</p>

【问题讨论】:

  • 你也可以发html吗?这个函数没有把值放到input 字段中吗?
  • 能不能在函数末尾加个console语句打印cookie和变量的值
  • 还有 jslint 警告是因为您在每个 if 块中使用 var... 因为 javascript 只有函数范围,您可以在顶部声明它们 var rims_read = $.cookie('rim_color'), jantes, preco; 并删除 var从条件块
  • 在一秒钟内发布 HTML :) 是的,好点,我没有想到,在我下一次重组时,我将停止重新声明变量,感谢控制台声明,我该怎么做? xD 抱歉,我对 javascript 很陌生 xD
  • 在return语句前添加console.log(rims_read, jantes, preco)

标签: javascript jquery wordpress variables cookies


【解决方案1】:

试试

<table class="tab_cfg" align="center" width="70%" cellspacing="0"
    cellpadding="10">
    <tr style="border-bottom: none;">
        <th colspan="4"><br />
            <p>Abra o Configurador e siga todos os passos, a tabela abaixo
                vai mostrar os resultados que escolheu:</p></th>
    </tr>
    <tr>
        <th colspan="4"><a class="readon"
            href="http://popo.com.pt/POPO/configurador/cfg/page_model/configurador_model.html"
            rel="rokbox[550 600]">Configurador</a> <a class="readon"
            href="javascript:setCookies(); document.location.reload(true)">Reset</a>
        </th>
    </tr>
    <tr>
        <td colspan="2">&nbsp;</td>
        <td>Característica</td>
        <td>Preço</td>
    </tr>
    <tr>
        <td colspan="2">Modelo</td>
        <td><p class="modelo-modelo"></p></td>
        <td><p class="modelo-preco"></p></td>
    </tr>
    <tr>
        <td colspan="2">Cor</td>
        <td><p class="color"></p></td>
        <td></td>
    </tr>
    <tr>
        <td colspan="2">Jantes</td>
        <td><p class="rims-jantes"></p></td>
        <td><p class="rims-preco"></p></td>
    </tr>



    <tr>
        <td style="border-right: 1px solid #d1d1d1;" rowspan="6">Extras</td>
        <td>ABS</td>
        <td><p class="abs-abs"></p></td>
        <td><p class="abs-preco"></p></td>
    </tr>
    <tr border="1px">
        <td>Ar Condicionado</td>
        <td><p class="ac-ac"></p></td>
        <td><p class="ac-preco"></p></td>
    </tr>
    <tr>
        <td>Alarme</td>
        <td><p class="alarm-alarm"></p></td>
        <td><p class="alarm-preco"></p></td>
    </tr>
    <tr>
        <td>Luzes LED</td>
        <td><p class="led.led"></p></td>
        <td><p class="led.preco"></p></td>
    </tr>
    <tr style="border-bottom: none;">
        <td>Chapeleira</td>
        <td><p class="chapeleira-chapeleira"></p></td>
        <td><p class="chapeleira-preco"></p></td>
    </tr>
</table>

<script type="text/javascript">
    jQuery(function($) {
        var $table = $('.tab_cfg');

        var modelo = readModel();
        $table.find('.modelo-modelo').html(modelo.modelo)
        $table.find('.modelo-preco').html(modelo.preco)

        $table.find('.color').html(readColor())

        var jantes = readRims();
        $table.find('.rims-jantes').html(jantes.modelo)
        $table.find('.rims-preco').html(jantes.preco)

        var abs = readABS();
        $table.find('.abs-abs').html(abs.modelo)
        $table.find('.abs-preco').html(abs.preco)

        var ac = readAC();
        $table.find('.ac-modelo').html(ac.modelo)
        $table.find('.ac-preco').html(ac.preco)

        var alarm = readAlarm();
        $table.find('.alarm-modelo').html(alarm.modelo)
        $table.find('.alarm-preco').html(alarm.preco)

        var led = readLED();
        $table.find('.led-modelo').html(led.modelo)
        $table.find('.led-preco').html(led.preco)

        var chapeleira = readChap();
        $table.find('.chapeleira-modelo').html(chapeleira.modelo)
        $table.find('.chapeleira-preco').html(chapeleira.preco)

    })
</script>

【讨论】:

  • 很好,这是一篇非常有用的帖子,但对于“问题”,我并不想解决 xD,但它更干净,我会实施它,谢谢你,但我正在寻找对于写入我将通过电子邮件发送的联系表格的解决方案,我需要一个解决方案来使用他们的 ID 填充隐藏字段,而不是在表格中,该部分工作正常:p 但无论如何谢谢:)
  • 还有一件事,要使用它,我不能将 js 放在
  • @AnteroDuarte 是的.. 你可以
  • 隐藏字段在哪里?
  • @AnteroDuarte 找到了...您希望在加载页面时填充隐藏字段吗?
猜你喜欢
  • 2011-06-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-25
  • 2018-09-09
相关资源
最近更新 更多