如何将SmartyStreets验证应用于同一页面中的两个表单

How can I apply SmartyStreets validation to two forms in the same page?

本文关键字:表单 两个 SmartyStreets 验证 应用于 一页      更新时间:2023-09-26

```.col-md-6%h3美国地址

%form.form-horizontal%标签街道地址%input.form-control{id:'street',名称:'street],样式:'页边距底部:10px;字体大小:13px;高度:30px"'}

%标签城市%input.form-control{id:'city',名称:'city],样式:'页边距底部:10px;字体大小:13px;高度:30px"'}

%标签状态%input.form-control{id:'state',名称:'sstate',样式:'页边距底部:10px;字体大小:13px;高度:30px"'}

%标签邮政编码%input.form-control{id:'zipcode',名称:'zipcCode',样式:'页边距底部:10px;字体大小:13px;高度:30px"'}

.row%br%br%input.btn.btn-ss-alt.btn-lg{类型:"submit",名称:"commit",样式:"页边距底部:20px;浮动:右侧;页边距右侧:15px;填充:10px 72px;"}

.col-md-6%h3国际地址

%form.form-horizontal%标签街道地址%input.form-control{id:'street',名称:'street],样式:'页边距底部:10px;字体大小:13px;高度:30px"'}

%标签城市%input.form-control{id:'city',名称:'city],样式:'页边距底部:10px;字体大小:13px;高度:30px"'}

%标签状态%input.form-control{id:'state',名称:'sstate',样式:'页边距底部:10px;字体大小:13px;高度:30px"'}

%标签邮政编码%input.form-control{id:'zipcode',名称:'zipcCode',样式:'页边距底部:10px;字体大小:13px;高度:30px"'}

.row%br%br%input.btn.btn-ss-alt.btn-lg{类型:"submit",名称:"commit",样式:"页边距底部:20px;浮动:右侧;页边距右侧:15px;填充:10px 72px;"}```

SmartyStreets插件只适用于第一种形式,不适用于第二种形式。

var liveaddress = $.LiveAddress({ key: #{ENV['SMARTY_STREETS']}, debug: true, addresses: [{ street: '#street', city: '#city', state: '#state', zipcode: '#zipcode' }] });

简单,只需将每个表单包装在表单标记中,并为每个字段分配一个不同的名称(或id)。插件会接收它。以下是使用自定义字段映射的两个表单的示例:

http://jsfiddle.net/p02qxh0L/69/

以下是一个使用自动映射在同一页面上有16个表单的示例:

https://smartystreets.com/docs/plugin/examples

示例HTML:

    <form id="shipping">
    <input type="text" id="pais" name="pais" placeholder="pais">
    <br>
    <br>
    <input type="text" id="calle" name="calle" placeholder="calle">
    <br>
    <input type="text" id="ciudad" name="ciudad" placeholder="ciudad">
    <br>
    <input type="text" id="estado" name="estado" placeholder="estado">
    <br>
    <input type="text" id="codigo" name="codigo" placeholder="codigo">
    <br>
</form>
<hr>
<form id="billing">
    <input type="text" id="pais2" name="pais2" placeholder="pais2">
    <br>
    <br>
    <input type="text" id="calle2" name="calle2" placeholder="calle2">
    <br>
    <input type="text" id="ciudad2" name="ciudad2" placeholder="ciudad2">
    <br>
    <input type="text" id="estado2" name="estado2" placeholder="estado2">
    <br>
    <input type="text" id="codigo2" name="codigo2" placeholder="codigo2">
    <br>
</form>  
    

示例Javascript

    evar ss = jQuery.LiveAddress({
    key: '5640108848371823003',
    waitForStreet: true, 
    debug: true,
    addresses: [{
        country: '#pais',
        street: '#calle',
        city: '#ciudad',
        state: '#estado',
        zipcode: '#codigo'
    },{
        country: '#pais2',
        street: '#calle2',
        city: '#ciudad2',
        state: '#estado2',
        zipcode: '#codigo2'
    }]
});