我有以下表单,当用户从<select>
中选择一个选项时,javascript将其输入到“名称”字段中。除非选项包含撇号,否则它只会在撇号之前截断。我已经尝试将selectedValue = selectedValue.replace(/'/g, \"\\'\");
添加到javascript,但它没有帮助。任何意见,将不胜感激。PHP字段条目随着撇号而变化
#related form objects
echo "<br><br>Name: <input type=\"text\" name=\"name\" id=\"name\" value=\"$name\" size=\"50\">";
echo "<br>Nearby Suggestions: <select name='nearby' id='nearby'>"; $places=file_get_contents('https://maps.googleapis.com/maps/api/place/nearbysearch/json?location='.$lat.','.$long.'&key=xxx&radius=80');
$output= json_decode($places,true);
foreach($output['results'] as $place){
echo "<option value='$place[name]'>$place[name]</option>";
}
echo "</select>";
#script to enter nearby field into name field upon selection
echo "
<script>$(document).on('change','#nearby',function(){
var x = document.getElementById(\"nearby\"),
selectedValue = x.value;
selectedValue = selectedValue.replace(/'/g, \"\\'\");
$('input[name=name]').val(selectedValue);
});</script>";
可能不会解决您的问题,但您应始终在PHP中使用引号包装字符串。 '$ place [name]'是无效的。它应该始终是'$ place ['name']'或'$ place [“name”]''。必要时使用连接:'“